Excel宏:如何以“yyyy-MM-dd hh:mm:ss”格式获取时间戳?

时间:2011-03-28 09:32:27

标签: excel vba excel-vba

我在Excel宏中使用DateTime.Now来显示当前时间戳。

以“dd-MM-yyyy hh:mm:ss”格式显示时间戳。

相反,如何以“yyyy-MM-dd hh:mm:ss”格式获取时间戳?

10 个答案:

答案 0 :(得分:96)

尝试使用:format(now(), "yyyy-MM-dd hh:mm:ss")

答案 1 :(得分:40)

DateTime.Now返回数据类型Date的值。日期变量根据计算机上设置的短日期格式和时间格式显示日期。

它们可以被格式化为字符串,以Format函数以任何有效日期格式显示,如其他答案中所述

Format(DateTime.Now, "yyyy-MM-dd hh:mm:ss")

答案 2 :(得分:6)

Format(Now(), "yyyy-MM-dd hh:mm:ss")

答案 3 :(得分:3)

如果代码的某些用户具有不同的语言设置格式可能无法正常工作。因此,我使用以下代码以格式" yyymmdd hhMMss"格式给出时间戳。不管语言如何。

Function TimeStamp()
Dim iNow
Dim d(1 To 6)
Dim i As Integer


iNow = Now
d(1) = Year(iNow)
d(2) = Month(iNow)
d(3) = Day(iNow)
d(4) = Hour(iNow)
d(5) = Minute(iNow)
d(6) = Second(iNow)

For i = 1 To 6
    If d(i) < 10 Then TimeStamp = TimeStamp & "0"
    TimeStamp = TimeStamp & d(i)
    If i = 3 Then TimeStamp = TimeStamp & " "
Next i

End Function

答案 4 :(得分:2)

这对我来说效果最好:

        Cells(partcount + 5, "N").Value = Date + Time
        Cells(partcount + 5, "N").NumberFormat = "mm/dd/yy hh:mm:ss AM/PM"

答案 5 :(得分:1)

通过点击类型

下的海关类别,以格式单元格复制并粘贴此格式 yyyy-mm-dd hh:MM:ss

答案 6 :(得分:0)

保存工作簿路径中的时间戳,需要更改“ :”。我使用了“ :”->“ .”,这意味着我需要将扩展​​名添加回“ xlsx”。

wb(x).SaveAs ThisWorkbook.Path & "\" & unique(x) & " - " & Format(Now(), "mm-dd-yy, hh.mm.ss") & ".xlsx"

答案 7 :(得分:-1)

使用格式化功能。

Format(Date, "yyyy-mm-dd hh:MM:ss")

答案 8 :(得分:-1)

它可以像这样简单地工作,选择所需的位置,在这种情况下,我选择D3

Sheets("Put your Sheet's name here").Range("D3") = Now

例如,我的工作表称为Sources

Sheets("Sources").Range("D3") = Now

答案 9 :(得分:-2)

Try with :-Format(CURDATE(),"yyyy-mm-dd hh:MM:ss")