Макрос Excel:Как получить метку времени в формате "гггг-ММ-ДД чч:мм: СС"?

Я использую DateTime.Now в моем макро Excel, чтобы показать текущую метку времени.

он показывает метку времени в формате" dd-MM-yyyy hh:mm:ss".

вместо этого, как я могу получить метку времени в формате "гггг-ММ-ДД чч:мм:СС"?

8 ответов


попробовать с: format(now(), "yyyy-MM-dd hh:mm:ss")


DateTime.Now возвращает значение типа данных Date. Переменные даты отображают даты в соответствии с кратким форматом даты и форматом времени, установленным на вашем компьютере.

они могут быть отформатированы как строка для отображения в любом допустимом формате даты Format функция, как указано в других ответах

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

скопируйте и вставьте этот формат гггг-ММ-ДД чч:мм:СС формат ячеек, щелкнув таможенного категории типа


это сработало лучше всего для меня:

        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

используйте функцию Format.

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