DateTime.Format ToString (), który może być użyty w nazwie pliku lub rozszerzeniu?
Chcę dodać znacznik czasu do nazw plików podczas tworzenia plików, ale większość metod DateTime próbowałem wypisać coś ze spacjami i ukośnikami. Na przykład:
Debug.WriteLine(DateTime.Now.ToString()); // <-- 9/19/2012 1:41:46 PM
Debug.WriteLine(DateTime.Now.ToShortTimeString()); // <-- 1:41 PM
Debug.WriteLine(DateTime.Now.ToShortDateString()); // <-- 9/19/2012
Debug.WriteLine(DateTime.Now.ToFileTime()); // <-- 129925501061462806
ToFileTime()
działa, ale nie jest dokładnie czytelny dla człowieka. Jak sformatować wyjście na czytelny dla człowieka znacznik czasu z datą i czasem, który może być użyty w nazwie pliku lub rozszerzeniu? Lepiej coś w stylu 2011-19-9--13-45-30
?
9 answers
Możesz użyć tego:
DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss");
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-19 17:44:17
Użyłbym formatu ISO 8601 , bez separatorów:
DateTime.Now.ToString("yyyyMMddTHHmmss")
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-19 17:48:43
Mam podobną sytuację, ale chcę spójnego sposobu, aby móc korzystać z DateTime.Parse from the filename as well, so I goed with
DateTime.Now.ToString("s").Replace(":", ".") // <-- 2016-10-25T16.50.35
Kiedy chcę parsować, mogę po prostu odwrócić wywołanie Replace. W ten sposób nie muszę wpisywać żadnych rzeczy yymmdd ani zgadywać jakie formaty DateTime.Parse allows.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-25 23:59:16
Możesz spróbować z
var result = DateTime.Now.ToString("yyyy-MM-d--HH-mm-ss");
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-04 08:42:36
Osobiście lubię to w ten sposób:
DateTime.Now.ToString("yyyy-MM-dd HH.mm.ss")
Ponieważ rozróżnia datę i czas.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-01 10:34:06
Możesz utworzyć ścieżkę do pliku w następujący sposób:
string path = "fileName-"+DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss") + ".txt";
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-23 08:01:07
Poniżej lista najczęściej używanych formatów czasu.,
dd -- dzień miesiąca, od 01 do 31.
MM -- miesiąc, OD 01 do 12.
yyyy -- rok jako czterocyfrowy numer.
hh -- godzina, używając 12-godzinnego zegara od 01 do 12.
mm -- Minuta, od 00 do 59.
ss -- drugi, od 00 do 59.
HH -- godzina, używając 24-godzinnego zegara od 00 do 23.
tt -- AM / PM wyznacznik.
Korzystając z powyższego, będziesz mógł utworzyć unikalną nazwę do nazwy pliku.
tutaj podałem przykład
string fileName = "fileName_" + DateTime.Now.ToString("MM-dd-yyyy_hh-mm-ss-tt") + ".pdf";
lub
Jeśli nie wolisz używać symboli, możesz spróbować również tego.,
string fileName = "fileName_" + DateTime.Now.ToString("MMddyyyyhhmmsstt") + ".pdf";
Mam nadzieję, że to pomoże komuś teraz lub w przyszłości. :)Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-31 10:29:10
Using interpolation string & format specifier :
var filename = $"{DateTime.Now:yyyy.dd.M HH-mm-ss}"
Lub jeśli nie jesteś w Ameryce:
var filename = $"{DateTime.Now:yyyy.M.dd HH-mm-ss}"
Ta funkcja jest dostępna w C # 6 i nowszych wersjach języka.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-18 02:42:50
Spróbuj tego:
time.ToLongDateString()
Wyjście: "Piątek, 24 Sierpnia 2018"
Lub użyj formatowania:
time.ToString("yyyy_MM_dd")
Wyjście: "2018_08_24"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-24 09:59:56