Estoy tratando de obtener la hora actual como una cadena formateada "YYYY-MM-DD-HH-MM-SS" en un elegante camino. Puedo tomar la hora actual en formato ISO desde la biblioteca "Date Time" de Boost, pero tiene otras cadenas de delimitación que no me funcionarán (estoy usando esto en un nombre de archivo). Por supuesto que puedo simplemente reemplazar las cadenas de delimitación, pero tengo la sensación de que hay una manera más agradable de hacerlo con las opciones de formato de fecha y hora. ¿Hay alguna manera de hacerlo, y si es así, cómo puedo usarlo?Obteniendo la hora actual como una cadena YYYY-MM-DD-HH-MM-SS
16
A
Respuesta
30
Use std::strftime
, es estándar 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 respuesta depende de lo que quiere decir con "tomar y llevar". Si está intentando generar una cadena de tiempo formateada, use strftime(). Si intenta analizar una cadena de texto en formato binario, use strptime().
Cuestiones relacionadas
- 1. Rieles obteniendo la hora actual sin la fecha
- 2. Obteniendo la hora actual en C usando time.h
- 3. Obteniendo la fecha y hora actual en JavaScript
- 4. C#: ¿Cómo obtendré la hora actual en una cadena?
- 5. Obteniendo la página actual
- 6. obtiene la hora actual
- 7. Cómo convertir una cadena de fecha y hora a una cadena de fecha y hora de la cultura actual
- 8. Cómo obtener la hora actual
- 9. UILabel con la hora actual
- 10. obteniendo la posición actual de un XmlReader
- 11. Erlang y hora actual
- 12. Obteniendo un nombre de función como una cadena
- 13. Fecha/hora actual de la fecha de la secuencia?
- 14. Obteniendo la sugerencia actual de `AutoCompleteTextView`
- 15. Obteniendo la fecha actual de la semilla del generador de números aleatorios
- 16. iphone Obtiene el año actual como cadena
- 17. PHP Fecha Hora Hora actual Agregar minutos
- 18. ¿Cómo obtengo la marca de tiempo actual en Go?
- 19. Cómo obtener la hora actual en una cadena en formato personalizado en el objetivo c
- 20. manipular la hora actual en pruebas unitarias?
- 21. git: obteniendo la revisión actual solamente
- 22. Obteniendo la URL actual usando Jquery
- 23. ¿Cómo obtener la fecha y hora actual?
- 24. ¿Cómo obtener la hora actual del GPS?
- 25. obtener la hora actual en segundos
- 26. Obtener la hora actual en C
- 27. Obtener la fecha/hora actual en segundos
- 28. Obtener la hora actual del sistema
- 29. Obtener la hora actual del sistema?
- 30. C# - Formateo de la hora actual
Algo que escribe en un 'std :: string' y por lo tanto no tiene preocupaciones sobre desbordamientos de búfer sería bueno. Es comprensible que se espere que 'strftime' tenga una longitud máxima predecible. ¿Hay algún problema? –
¿Hay alguna solución ** thread-safe **? Ver [enlace] (http://en.cppreference.com/w/cpp/chrono/c/localtime) - std :: localtime() no es seguro para subprocesos. – Yuri