Excelmacros:如何获得“yyyy-MM-dd hh:mm:ss”格式的时间戳?

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

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

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

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

DateTime.Now返回数据typesDate的值。 datevariables根据计算机上设置的短date格式和时间格式显示date。

它们可能被格式化为一个string,通过Format函数以任何有效的date格式显示,如其他答案中所述

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

如果某些用户的代码有不同的语言设置格式可能无法正常工作。 因此,我使用下面的代码,以格式“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 

通过在types下单击关联类别来复制并粘贴格式为yyyy-mm-dd hh:MM:ss的格式

这对我来说最合适:

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

使用格式function。

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