我有一个日期显示文本框,以这种格式显示日期:17/04/2012但我想将其格式化为“2012年4月17日”。我试过这段代码
UserForm1.txtDate = Format(Long Date)
我从编译器得到语法错误。你能告诉我怎么做吗? 感谢
答案 0 :(得分:2)
这里有几个帖子。罪魁祸首似乎是你的系统日期格式。使用短,中,长格式将在系统设置更改时更改结果。
Format$(yourdate, “dd/mm/yyyy”)
Format$(yourdate, “short date”)
如果我们看一下明确定义您的格式,那么您正在制定区域设置!
好例如。短日期不会总是mm / dd / yyyy,但可能是dd / mm / yyyy。这是实际指定格式的关键优势。您只需改变日期的样子,而不是依赖于系统(无论您是否知情)。
当我们第一次遇到这个时,我们有一些制作VBA应用程序并将其发送到另一个地方,在那里他们拥有自己的本地化系统日期格式。你的手机响了......;)
在您的情况下,您可以使用,
UserForm1.txtDate.Value = Format$(Date,"mmmm dd, yyyy")
或者说是超级安全的,
Dim dtDate as Date
dtDate = DateSerial(Year(Date), Month(Date), Day(Date))
UserForm1.txtDate.Value = Format$(dtDate, "mmmm dd, yyyy")
希望有所帮助。