我有一个用于日期显示的文本框,它以这种格式显示日期:2012 年 4 月 17 日,但我想将其格式化为“2012 年 4 月 17 日”。我试过这段代码
UserForm1.txtDate = Format(Long Date)
我从编译器收到语法错误。你能告诉我该怎么做吗?谢谢
有几个关于这个的帖子。罪魁祸首似乎是您的系统日期格式。当系统设置改变时,使用短、中、长格式会改变结果。
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")
希望有帮助。