Макрос Excel: Як отримати позначку часу у форматі “рррр-ММ-дд год: мм: сс”?


79

я використовую DateTime.Now у своєму макросі Excel, щоб показати поточну позначку часу.

Він показує мітку часу у форматі "dd-MM-yyyy hh: mm: ss".

Натомість, як я можу отримати позначку часу у форматі "рррр-ММ-дд год: мм: сс"?

Відповіді:



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

Скопіюйте та вставте цей формат рррр-мм-дд год: ММ: сс у комірки формату, клацнувши митну категорію в розділі Тип



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()натомість слід скористатися ..
Соммерх

-1

Це може працювати так само просто, виберіть місце, яке ви хочете, у цьому випадку я вибираю D3

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

Наприклад, називається мій аркуш Sources

Sheets("Sources").Range("D3") = Now
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.