Sto cercando di ottenere l'ora corrente come una stringa formattata "YYYY-MM-DD-HH-MM-SS" in un elegante modo. Posso prendere l'ora corrente in formato ISO dalla libreria "Date Time" di Boost, ma ha altre stringhe di delimitazione che non funzioneranno per me (sto usando questo in un nome di file). Ovviamente posso solo sostituire le stringhe delimitanti, ma ho la sensazione che ci sia un modo migliore per farlo con le opzioni di formattazione date-time. C'è un modo, e se sì, come posso usarlo?Ottenere l'ora corrente come una stringa YYYY-MM-DD-HH-MM-SS
16
A
risposta
30
Utilizzare std::strftime
, è standard C++.
#include <cstdio>
#include <ctime>
int main()
{
std::time_t rawtime;
std::tm* timeinfo;
char buffer [80];
std::time(&rawtime);
timeinfo = std::localtime(&rawtime);
std::strftime(buffer,80,"%Y-%m-%d-%H-%M-%S",timeinfo);
std::puts(buffer);
return 0;
}
2
La risposta dipende da cosa intendi per ottenere e prendere. Se stai provando ad emettere una stringa di tempo formattata, usa strftime(). Se stai cercando di analizzare una stringa di testo in un formato binario, usa strptime().
Problemi correlati
- 1. come formattare getdate in YYYYMMDDHHmmSS
- 2. Android Calendario ottenere corrente giorno della settimana come stringa
- 3. Come ottenere l'URL corrente
- 4. Come ottenere la stringa di query dall'URL corrente con JavaScript?
- 5. Come ottenere l'ora corrente nel formato stringa in Java? "yyyy.MM.dd.HH.mm.ss"
- 6. Come ottenere l'ora corrente
- 7. Come ottenere l'ProcessID corrente?
- 8. Ottenere una stringa dopo una specifica stringa
- 9. Ottenere l'ora corrente nella stringa in formato personalizzato nell'obiettivo c
- 10. VBA Powerpoint. Come ottenere il percorso della directory corrente del file su una stringa in VBA?
- 11. Come ottenere l'ora GPS corrente?
- 12. Come ottenere una stringa binaria da ArrayBuffer?
- 13. Come ottenere una risposta stringa da Retrofit2?
- 14. come ottenere l'ultimo carattere di una stringa?
- 15. Come ottenere una stringa inversa (unicode safe)
- 16. Come ottenere una stringa tra due caratteri?
- 17. Come ottenere l'ultima lettera di una stringa
- 18. Come ottenere una stringa formattata in OCaml?
- 19. Come ottenere una stringa da dataPackageView.GetDataAsync()
- 20. Come ottenere una stringa di larghezza
- 21. ASP.NET MVC - Come ottenere l'azione corrente da una vista parziale?
- 22. Come ottenere la directory corrente su una libreria di classi?
- 23. Come ottenere lo stato corrente di una connessione websocket javascript
- 24. Ottenere suggerimento corrente `AutoCompleteTextView`
- 25. Stringa data data/ora corrente?
- 26. Come ottenere l'ID utente corrente in CloudKit?
- 27. come ottenere l'ora corrente in SQL?
- 28. iphone Ottieni l'anno corrente come stringa
- 29. Ottenere una stringa SHA-256 di una stringa
- 30. Come ottenere il percorso corrente in HtmlHelper?
Qualcosa che scrive in uno 'std :: string' e quindi non ha preoccupazioni circa il buffer overflow sarebbe bello. Comprensibilmente, 'strftime' dovrebbe avere una lunghezza massima prevedibile. Ci sono trucchi? –
Esiste una soluzione ** thread-safe **? Vedi [link] (http://en.cppreference.com/w/cpp/chrono/c/localtime) - std :: localtime() non è thread-safe. – Yuri