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

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

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

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

348843 次浏览

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

使用 Format 函数。

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

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

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

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

通过单击“类型”下的“自定义类别”,将此格式 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

这对我来说效果最好:

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

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

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

例如,我的表名为 Sources

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

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

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