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

Я использую DateTime.Now в своем макросе Excel для отображения текущей метки времени.

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

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

Ответы [ 10 ]

97 голосов
/ 28 марта 2011

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

40 голосов
/ 28 марта 2011

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

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

Format(DateTime.Now, "yyyy-MM-dd hh:mm:ss")
6 голосов
/ 28 марта 2011
Format(Now(), "yyyy-MM-dd hh:mm:ss")
4 голосов
/ 23 сентября 2015

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

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 голосов
/ 06 мая 2016

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

        Cells(partcount + 5, "N").Value = Date + Time
        Cells(partcount + 5, "N").NumberFormat = "mm/dd/yy hh:mm:ss AM/PM"
1 голос
/ 14 ноября 2013

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

0 голосов
/ 27 октября 2018
Try with :-Format(CURDATE(),"yyyy-mm-dd hh:MM:ss")
0 голосов
/ 27 октября 2018

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

wb(x).SaveAs ThisWorkbook.Path & "\" & unique(x) & " - " & Format(Now(), "mm-dd-yy, hh.mm.ss") & ".xlsx"
0 голосов
/ 28 сентября 2018

Это может работать так же просто, как вы, выберите желаемое место, в этом случае я выберу D3

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

Пример, мой лист называется Sources

Sheets("Sources").Range("D3") = Now
0 голосов
/ 28 марта 2011

Используйте функцию форматирования.

Format(Date, "yyyy-mm-dd hh:MM:ss")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...