¿Hay alguna manera de convertir un time_t
a un std::string
con el formato AAAA-MM-DD HH: MM: SS automáticamente mientras se mantiene el código portátil?C - Convertir time_t a cadena con formato AAAA-MM-DD HH: MM: SS
Respuesta
Su única opción real en la cabeza es escribir su propia rutina o utilizar la función ctime() definida en POSIX.1/C90. Ctime() vale la pena investigarlo, pero si su fecha ya no está en la zona horaria correcta, se encontrará con problemas.
EDITAR: No pensé en utilizar localtime como lo menciona Jerry a continuación. Convirtiéndolo en una estructura tm le da más posibilidades, incluyendo lo que él menciona, y strptime().
Usa localtime
para convertir time_t
en struct tm
. Puede usar strftime
para imprimir los datos deseados a partir de eso.
char buff[20];
time_t now = time(NULL);
strftime(buff, 20, "%Y-%m-%d %H:%M:%S", localtime(&now));
+1 buena respuesta. Pero use localtime_r() en caso de que su código se use alguna vez en un entorno reentrante. –
@Amardeep: Preguntó específicamente por la portabilidad, y 'localtime_r' puede no calificar en ese sentido (depende de qué objetivos le interesen). –
localtime_r ha sido parte de POSIX durante 18 años en este momento. Creo que es seguro suponer que estará disponible. –
- 1. Convertir TimeSpan de formato "hh: mm: ss" a "hh: mm"
- 2. Tiempo en cadena con formato HH: MM: SS (programación C)
- 3. ¿Convertir tiempo en formato HH: MM: SS a segundos solamente?
- 4. C# formato de análisis timestampwith "AAAAMMDD HH: MM: SS.ms"
- 5. NSTimeInterval a HH: mm: ss?
- 6. Formato de fecha en dd/mm/aaaa hh: mm: ss
- 7. Cómo convertir los segundos en este formato "HH: mm: ss"
- 8. Programa para convertir el tiempo en segundos a formato hh: mm: ss
- 9. Cómo convertir aaaa-MM-dd hh: mm: ss a "decimoquinto Abr 2010" usando PHP
- 10. Hora actual en HH: MM: ¿formato SS am/pm?
- 11. Muestra la hora actual en este formato: HH: mm: ss
- 12. SQL Server Formato Fecha DD.MM.YYYY HH: MM: SS
- 13. La salida está en segundos. convertir a formato hh: mm: ss en php
- 14. ¿Hay una función de Matlab para convertir segundos transcurridos a formato HH: MM: SS?
- 15. Cómo convertir un decimal en tiempo, ej. HH: MM: SS
- 16. Patrón Regex para HH: MM: cadena de tiempo SS
- 17. Usando un NSTimer para HH: MM: SS?
- 18. Delphi: Simple hh: mm: ss Temporizador
- 19. Cómo convertir la fecha en formato "AAAA-MM-DD hh: mm: ss" a UNIX marca de tiempo
- 20. ¿Cómo convierto hh: mm: ss a hh: mm en SQL Server?
- 21. Convertir segundos enteros a HH: MM, iPhone
- 22. Obteniendo la hora actual como una cadena YYYY-MM-DD-HH-MM-SS
- 23. Cómo convertir HH: mm: ss.SSS a milisegundos?
- 24. Cómo convertir un número entero (tiempo) a HH: MM: SS :: 00 en SQL Server 2008?
- 25. ¿Hay un nombre para el formato de fecha "AAAA-MM-DD HH: MM: SS"?
- 26. Conversión de marca de tiempo en Oracle para YYYY-MM-DD HH: MM: SS formato
- 27. Cómo formatear una fecha en formato MM/dd/aaaa HH: mm: ss en JavaScript?
- 28. ¿Cómo puedo convertir una indicación de fecha y hora de aaaa-MM-ddThh: mm: ss: formato SSSZ a MM/dd/aaaa hh: mm: ss.SSS? De ISO8601 a UTC
- 29. Cómo convertir la cadena HH: MM a Joda Duration?
- 30. PostgreSQL - Cómo convertir segundos en un campo numérico a HH: MM: SS
strptime debería ser strftime, ¿no? –
No, se menciona strftime, pero strptime no, se trata de dos funciones separadas (aunque similares). Sin embargo, aunque strftime es parte de C90, strptime no lo es, así que si no existe en las plataformas a las que apunta, ignore esa parte. – jer