下面的代码可以将任意日期(1000-01-01------>9999-12-31)转换为汉字显示:
Private Sub Command1_Click()
MsgBox datename(Date)
End Sub
Function datename(ByVal mydate As Date) As String
Dim i As Long, d(3) As String, myyear As String
myyear = Format(mydate, "yyyy")
For i = 1 To 4
d(0) = d(0) & Mid("○一二三四五六七八九", CInt(Mid(myyear, i, 1)) + 1, 1)' trans year to chinese character
Next
d(1) = "年" & MonthName(Month(mydate)) 'add month name in chinese as “十月”
d(2) = Choose(Day(mydate) \ 10 + 1, "", "十", "二十", "三十") & Mid(" 一二三四五六七八九", Day(mydate) Mod 10 + 1, 1) & "日"
d(3) = "," & WeekdayName(Weekday(mydate))'add weekday name in chinese as “星期三”
datename = Join(d, "") ' combine year,month and day,weekday
datename = Replace(datename, " ", "") ' avoid space in result
End Function