繁体   English   中英

字符串转换为英国日期格式

[英]String to UK Date Format

我有类似下面的内容。

mth = 08
dy = 12
yr = 2014
dt = dy & "/" & mth & "/" & yr
Cells(i,j) = dt

代码运行时,日期将转换为美国格式,因此实际上显示为mmddyyyy,而不是ddmmyyyy。

我怎样才能解决这个问题?

赶紧跑

 Cells(i,j).NumberFormat = "dd mm yyyy"

而且应该没问题

尽管您已经有了答案,但我将把它和我的首选方法一起使用:

Cells(i,j) = DateSerial(yr, mth, dy)

这应该避免任何意外的格式,因为您没有将值放入字符串中,而是要求VBA将字符串转换为日期。

尝试这个:

Sub test()

    Dim mth     As Integer
    Dim dy      As Integer
    Dim yr      As Integer
    Dim dt      As Date

    mth = 8
    dy = 12
    yr = 2014
    dt = Format(DateSerial(yr, mth, dy), "dd mm yyyy")
    Cells(1, 1) = dt

End Sub

这取决于您要如何处理。 如果仅将其用于显示,则可以在值前加上撇号。 这指示Excel将值解释为文本。

dt = "'" & dy & "/" & mth & "/" & yr

如果要进行日期计算(包括排序),则可以使用建议的“ DateSerial”函数,但必须将列的格式设置为所需的格式,否则Excel将使用默认格式。

Cells(i,j).NumberFormat = "dd/mm/yyyy"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM