Czy jest jakiś sposób przekonwertować time_t
do std::string
z formatem YYYY-MM-DD GG: MM: SS automatycznie przy zachowaniu kod przenośny?C - Konwersja time_t na łańcuch z formatu YYYY-MM-DD HH: MM: SS
Odpowiedz
Twoja jedyna prawdziwa opcja poza moją głową to albo napisanie własnej procedury, albo skorzystanie z funkcji ctime() zdefiniowanej w POSIX.1/C90. ctime() jest z pewnością warte zainteresowania, ale jeśli twoja data nie jest już we właściwej strefie czasowej, napotkasz problemy.
EDYCJA: Nie myślałem o używaniu czasu lokalnego, o czym wspomniał Jerry poniżej. Konwersja do struct tm daje więcej możliwości, w tym to, co wymienia, i strptime().
Użyj localtime
, aby przekonwertować time_t
na struct tm
. Możesz użyć strftime
, aby wydrukować żądane dane z tego.
char buff[20];
time_t now = time(NULL);
strftime(buff, 20, "%Y-%m-%d %H:%M:%S", localtime(&now));
+1 dobra odpowiedź. Ale używaj localtime_r() na wypadek, gdyby twój kod był kiedykolwiek używany w środowisku, w którym występuje ponownie. –
@ Amardeep: Specjalnie poprosił o przeniesienie, a 'localtime_r' może nie kwalifikować się w tym względzie (zależy od tego, na jakich celach mu zależy). –
localtime_r jest częścią POSIX od 18 lat w tym momencie. Myślę, że można bezpiecznie założyć, że będzie dostępna. –
- 1. Konwersja Okres od formacie "hh: mm: ss" na "hh: mm"
- 2. Czas na ciąg z HH: MM: Format SS (C-programowanie)
- 3. Konwersja (RRRR-MM-DD-HH: MM: SS) Data Data
- 4. Qt C++ Konwersja sekund sformatowany ciąg (hh: mm: ss)
- 5. Konwersja hh: mm: ss na minuty przy użyciu Pythona Pythona
- 6. Konwersja mm/dd/rrrr na yyyymmdd (VB.NET)
- 7. konwersja yyyy-mm-dd hh: mm: ss na yyyy-mm-dd w sql
- 8. C# Jak przekonwertować Environment.TickCount na HH: mm: ss: ms
- 9. Python: konwertowanie sekund hh: mm: ss
- 10. Mysql: konwersja daty z "dd/mm/rrrr" na "yyyymmdd"
- 11. Jak przekonwertować wartość godziny dziesiętnej na hh: mm: ss
- 12. Wzór "YYYY-MM-DD HH: mm: ss Z" powoduje parsowania wyjątek gdzie Jodatime nie
- 13. Czy istnieje funkcja Matlab do konwertowania upływających sekund do formatu HH: MM: SS?
- 14. Jak przekonwertować sekundy w tym formacie "HH: mm: ss"
- 15. LibreOffice SUM okres czasu w formacie HH: MM: SS
- 16. TimeSpan.ToString() ciąg zwrotny jak (D: hh: mm: ss)
- 17. Formatowanie sekund na hh: ii: ss
- 18. Jak przekonwertować datę w formacie "YYYY-MM-DD hh: mm: ss" na UNIX timestamp
- 19. Jak przekonwertować gg: mm: ss na hh: mm w SQL Server?
- 20. Format C# parse timestampwith "rrrrMMdd hh: mm: SS.ms"
- 21. Jak przekonwertować system PayPal HH: MM: SS DD Mmm (.) YYYY PST/PDT na C# UTC DateTime?
- 22. TimeSun ToString "[d.] Hh: mm"
- 23. Konwertuj liczby całkowite na ciąg "hh: mm"
- 24. Łańcuch formatu z kresek
- 25. Błąd TimeSpan.ToString ("hh: mm")
- 26. DateTime.Now.ToString ("yyyy-MM-dd hh: mm: ss") zwraca czas AM zamiast czasu PM?
- 27. format datetime do YYYY-MM-DD HH: mm: ss w moment.js
- 28. Konwersja znacznika czasu w Oracle dla YYYY-MM-DD GG: MM: format SS
- 29. jak przekonwertować datę dd/mm/rrrr na rrrr-mm-dd GG: mm: ss Android
- 30. Jak przekonwertować ciąg "HH: MM: SS" na sekundy za pomocą PHP?
strptime powinno być strftime, prawda? –
Nie, wymieniono strftime, ale strptime nie, są to dwie oddzielne (ale podobne) funkcje. Jednakże, podczas gdy strftime jest częścią C90, strptime nie jest, więc jeśli nie istnieje na platformach, na które celujesz, zignoruj tę część. – jer