Convertir un timestamp Unix en data e una data en timestamp
Publicat lo · Mes a jorn lo 2 min de lectura
Un timestamp Unix compta lo temps passat dempuèi l’1 de genièr de 1970 a mièjanuèit en ora universala. Doas questions decidisson de la data resultanta: l’unitat del nombre e lo fus orari dins lo qual legissètz lo resultat.
Una valor de referéncia
Convertir un timestamp Unix dona tres lecturas del meteis instant. Per 1700000000, amb un navegador reglat a l’ora de París:
| Lectura | Resultat |
|---|---|
| Data UTC | Tue, 14 Nov 2023 22:13:20 GMT |
| Data locala | 14 de novembre de 2023 a 23:13:20 UTC+1 |
| ISO | 2023-11-14T22:13:20.000Z |
L’ora locala seguís lo fus orari del navegador: una ora de mai a París en ivèrn. Lo meteis timestamp es un sol instant, legit dins dos fusses oraris.
L’unitat es reconeguda segon lo nombre de chifras
Lo reglatge per defaut reconeis l’unitat segon la longor del nombre. Las tres valors çaijós designan lo meteis instant, a la precision près.
| Nombre | Chifras | Unitat reconeguda | Instant obtengut |
|---|---|---|---|
| 1700000000 | 10 | Segondas | 14 nov. 2023, 22:13:20 UTC |
| 1700000000000 | 13 | Milisegondas | 14 nov. 2023, 22:13:20 UTC |
| 1700000000123456 | 16 | Microsegondas | 14 nov. 2023, 22:13:20,123 UTC |
La règla: fins a 11 chifras, segondas; de 12 a 14, milisegondas; 15 e 16, microsegondas. Lo reglatge «milisegondas» forçarà aquela unitat.
Lo pegue de la règla
Perque l’unitat es deduita de la longor, una valor ambigua es legida d’una sola manièra: 10000000000 (11 chifras) dona lo 20 de novembre de 2286, e 100000000000 (12 chifras) dona lo 3 de març de 1973. Un timestamp en milisegondas anterior a març de 1973 a 11 chifras o mens, e seriá legit coma de segondas: forçatz alara lo reglatge «milisegondas».
Valors d’abans 1970 e limit de 2038
Un nombre negatiu designa un instant d’abans 1970: −1 dona lo 31 de decembre de 1969 a 23:59:59 UTC, e 0 dona l’1 de genièr de 1970 a mièjanuèit.
Lo nombre 2147483647 es lo mai grand que tenga dins un entièr signat de 32 bits: dona lo 19 de genièr de 2038 a 03:14:07 UTC. Lo nombre seguent, 2147483648, dona 03:14:08: l’esplech contunha sens limit, mas un sistèma que gardava l’ora sus 32 bits pòt pas.
Convertir una data en timestamp
Picatz una data al lòc d’un nombre: l’esplech dona lo timestamp en segondas e en milisegondas.
| Picada | Timestamp en segondas | Lectura |
|---|---|---|
| 2026-01-01 | 1767225600 | Mièjanuèit en ora universala, cap de fus orari balhat |
| 2026-01-01T10:30:00+01:00 | 1767259800 | 10:30 a París, es a dire 09:30 en ora universala |
| 2024-02-29 | 1709164800 | Annada bisexta acceptada |
Una data sens fus orari es legida en ora universala, pas en ora locala: l’esplech o ditz dins lo resultat. Una data qu’existís pas, coma lo 30 de febrièr de 2026, es refusada amb un messatge.
Errors frequentas
- Legir de milisegondas coma de segondas: la data tomba de millierats d’ans tròp luènh.
- Doblidar lo fus orari: una data legida coma locala, puèi mandada coma universala, se desplaça d’una ora o de mantunas.
- Escriure una data sens fus orari en pensant a l’ora locala, quand serà legida en UTC.
Per comptar los jorns entre doas datas, vejatz Comptar los jorns entre doas datas.
Verificar una conversion
- Tornatz legir la linha UTC, que depend pas de l’aparelh.
- Verificatz l’unitat anonciada sus la primièra linha del resultat.
- Tornatz convertir la data resultanta: devriatz tornar trobar lo nombre de partença.
