Я использую DateTime.Now
в своем макросе Excel, чтобы показать текущую временную метку.
Показывает временную метку в формате "dd-MM-yyyy hh: mm: ss".
Вместо этого, как я могу получить метку времени в формате "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")
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"
Скопируйте и вставьте этот формат yyyy-mm-dd hh: MM: ss в ячейки формата, нажав категорию таможни в разделе Тип
Используйте функцию "Формат".
Format(Date, "yyyy-mm-dd hh:MM:ss")
Date
содержит только календарную дату, но часы, минуты и секунды установлены на 0:00:00! Вы должны использоватьNow()
вместо ..