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


78

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

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

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

Answers:



41

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

它们可以格式化为字符串,以便通过Format其他答案中提到的函数以任何有效的日期格式显示。

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


4

如果代码的某些用户使用不同的语言设置,则格式可能不起作用。因此,无论使用哪种语言,我都使用以下代码以“ 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

1

通过单击“类型”下的“海关类别”,将这种格式yyyy-mm-dd hh:MM:ss复制并粘贴到格式单元格中


1

这对我来说最有效:

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

1

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

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

-1

使用格式化功能。

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

不要上班 Date仅包含日历日期,但小时,分钟和秒固定为0:00:00!您必须Now()改用..
A.Sommerh 2014年

-1

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

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

例如,我的工作表称为 Sources

Sheets("Sources").Range("D3") = Now
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.