如何将now()转换为“2013年11月21日”?我已经研究过像datepart和format这样的东西,但我找不到这个翻译。
答案 0 :(得分:1)
这应该有效。我在VBA立即窗口中运行了它。
?Format(Now(),"mmmm dd, yyyy")
November 21, 2013
答案 1 :(得分:1)
这是你在尝试的吗?
Sub Sample()
Debug.Print ConvertTodate(#12/13/2012#)
Debug.Print ConvertTodate(#12/12/2012#)
Debug.Print ConvertTodate(#12/14/2012#)
Debug.Print ConvertTodate(#12/23/2012#)
Debug.Print ConvertTodate(Now)
End Sub
Function ConvertTodate(d As Date) As String
Dim suff As String
Dim dt As String
dt = Format(d, "mmmm dd, yyyy")
Select Case Day(d)
Case 0 To 10, 20 To 31
Select Case Right(Day(d), 1)
Case 1: suff = "st,"
Case 2: suff = "nd,"
Case 3: suff = "rd,"
Case 0, 4 To 9: suff = "th,"
End Select
Case 11 To 20: suff = "th,"
End Select
ConvertTodate = Replace(dt, Day(d) & ",", Day(d) & suff)
End Function
注意:根据您的区域设置,您可能需要使用其他内容而不是逗号。