La función de tiempo en time.h da milisegundos desde la época.¿Cómo puedo obtener milisegundos desde la medianoche UTC en C?
Respuesta
Utiliza gettimeofday (2) que se define en POSIX.1 y BSD.
Devuelve segundos y microsegundos como se define en struct timeval desde sys/time.h.
Encontrará C
ejemplos de código para obtener tiempo y convertirlo a varios formatos here.
Esta es una forma sencilla:
time_t seconds_since_midnight = time(NULL) % 86400;
Para obtener milisegundos aproximados desde la media noche, se multiplican por 1000. seconds_since_midnight
Si necesita más resolución (si tenemos en cuenta que realmente lo hace), que tendrá que use otra función como gettimeofday()
.
Tome un vistazo a gmtime() Convierte directamente al Tiempo Universal Coordinado (UTC) ...
Ésta es la forma precisa:
struct timeval tv;
int msec = -1;
if (gettimeofday(&tv, NULL) == 0)
{
msec = ((tv.tv_sec % 86400) * 1000 + tv.tv_usec/1000);
}
que almacenará en msec
el número de milisegundos desde medianoche. (o -1 si hubo un error al obtener el tiempo.)
Aunque por lo general es una mala idea para almacenar los valores de tiempo en un int
, estoy siendo un poco arrogante y asumiendo int
es de al menos 32 bits y puede acomodar fácilmente el rango (-1) a 86,400,000.
Pero no sé si vale la pena todo el esfuerzo.
Parece que hay algo mal con su código, de acuerdo con la C que conozco. Tal vez debiste haber declarado 'msec' de antemano, también usaste' else'. – ThoAppelsin
@ThoAppelsin Buen punto. Corregido ¡Gracias! – scraimer
- 1. segundos utc desde la medianoche hasta la fecha
- 2. Cómo obtener segundos transcurridos desde la medianoche
- 3. Convertir la fecha UTC en milisegundos
- 4. Cómo consultar todos los registros creados hoy (medianoche UTC..Actualmente)
- 5. ¿Cómo obtener el tiempo en milisegundos desde la época de Unix en Javascript?
- 6. Cómo obtener la hora actual en milisegundos programación en C
- 7. ¿Cómo obtener la hora actual en milisegundos desde C en Linux?
- 8. Convertir milisegundos UTC a DATETIME en el servidor SQL
- 9. ¿Cómo obtengo la hora UTC de "medianoche" para una zona horaria determinada?
- 10. ¿Cómo obtener minutos, segundos y milisegundos desde datetime.now() en python?
- 11. Cómo calcular ms desde la medianoche en Javascript
- 12. ¿Cómo puedo obtener el tiempo transcurrido en milisegundos en Ruby?
- 13. ¿Cómo puedo obtener el desplazamiento utc en Rails?
- 14. ¿Cómo puedo obtener una hora UTC precisa con Python?
- 15. ¿Cómo obtener la hora actual (en milisegundos) desde el reloj del sistema en Windows?
- 16. obtener hora UTC en PHP
- 17. temporización en C++, milisegundos desde el último segundo entero
- 18. Cómo obtener el desplazamiento UTC en segundos en Android
- 19. Cómo obtener la hora UTC en jQuery datetimepicker
- 20. Cómo obtener la diferencia de tiempo en milisegundos
- 21. Cómo obtener la fecha de modificación del archivo en UTC desde Python
- 22. C# temporización de milisegundos
- 23. ¿Cómo obtener la diferencia entre dos QDateTimes en milisegundos?
- 24. ¿Cómo obtener la fecha actual UTC en impulso?
- 25. JodaTime Obtener milisegundos actuales desde el comienzo del día
- 26. ¿Hay alguna forma en XQuery de obtener la hora actual en milisegundos desde algún tiempo?
- 27. Desplazamiento UTC en minutos
- 28. Android obtener la hora UTC actual
- 29. ¿Cómo obtener milisegundos entre dos dateTime obj?
- 30. ¿Cómo creo una fecha y hora en Python desde milisegundos?
En realidad, la función de tiempo() da el tiempo en segundos, no en milisegundos, desde la época (e ignora los segundos intercalares). –