Ich verwende DateTime.Now
in meinem Excel-Makro den aktuellen Zeitstempel.
Es zeigt den Zeitstempel im Format "TT-MM-JJJJ HH: MM: SS".
Wie kann ich stattdessen den Zeitstempel im Format "JJJJ-MM-TT HH: MM: SS" erhalten?
Ich verwende DateTime.Now
in meinem Excel-Makro den aktuellen Zeitstempel.
Es zeigt den Zeitstempel im Format "TT-MM-JJJJ HH: MM: SS".
Wie kann ich stattdessen den Zeitstempel im Format "JJJJ-MM-TT HH: MM: SS" erhalten?
Antworten:
Versuche es mit: format(now(), "yyyy-MM-dd hh:mm:ss")
DateTime.Now
Gibt einen Wert vom Datentyp zurück Date
. Datumsvariablen zeigen Datumsangaben entsprechend dem auf Ihrem Computer festgelegten kurzen Datums- und Zeitformat an.
Sie können von der Format
in anderen Antworten genannten Funktion als Zeichenfolge für die Anzeige in einem beliebigen gültigen Datumsformat formatiert werden
Format(DateTime.Now, "yyyy-MM-dd hh:mm:ss")
Format(Now(), "yyyy-MM-dd hh:mm:ss")
Wenn einige Benutzer des Codes unterschiedliche Spracheinstellungen haben, funktioniert das Format möglicherweise nicht. Daher verwende ich den folgenden Code, der den Zeitstempel im Format "yyymmdd hhMMss" unabhängig von der Sprache angibt.
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
das hat bei mir am besten funktioniert:
Cells(partcount + 5, "N").Value = Date + Time
Cells(partcount + 5, "N").NumberFormat = "mm/dd/yy hh:mm:ss AM/PM"
Zeitstempel beim Speichern des Arbeitsmappenpfads muss das " :
" geändert werden. Ich habe " :
" -> " .
" verwendet, was bedeutet, dass ich die Erweiterung wieder " xlsx
" hinzufügen muss .
wb(x).SaveAs ThisWorkbook.Path & "\" & unique(x) & " - " & Format(Now(), "mm-dd-yy, hh.mm.ss") & ".xlsx"
Date
enthalten nur das Kalenderdatum, aber die Stunde, Minuten und Sekunden sind auf 0:00:00 festgelegt! Sie müssenNow()
stattdessen verwenden ..