it-roy-ru.com

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

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

Показывает метку времени в формате "дд-мм-гггг чч: мм: сс".

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

63
Parth Bhatt

Попробуйте с: format(now(), "yyyy-MM-dd hh:mm:ss")

93
Mohamed Saligh

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

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

Format(DateTime.Now, "yyyy-MM-dd hh:mm:ss")
38
chris neilsen
Format(Now(), "yyyy-MM-dd hh:mm:ss")
6
Mitch Wheat

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

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

Если некоторые пользователи кода имеют разные языковые настройки, формат может не работать. Таким образом, я использую следующий код, который дает метку времени в формате "гггммдд ччММсс" независимо от языка.

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
2
Kaisa

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

1
Rafiq

Временная метка при сохранении пути к книге, «:» необходимо изменить. Я использовал «:» -> «.», что означает, что мне нужно добавить расширение обратно «xlsx».

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