я використовую DateTime.Now
у своєму макросі Excel, щоб показати поточну позначку часу.
Він показує мітку часу у форматі "dd-MM-yyyy hh: mm: ss".
Натомість, як я можу отримати позначку часу у форматі "рррр-ММ-дд год: мм: сс"?
я використовую DateTime.Now
у своєму макросі Excel, щоб показати поточну позначку часу.
Він показує мітку часу у форматі "dd-MM-yyyy 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"
Date
містять лише календарну дату, але годину, хвилини та секунди встановлені на 0:00:00! ВамNow()
натомість слід скористатися ..