Il est midi !
(Et il y en a autant chaque année !)
https://time.is/time_zone_news
2023-04-13T05:50:00-07:00
Il n'y en a pas !
Proposition d'étendre la RFC3339 :
2023-04-13T05:50:00-07:00[Europe/Paris]
new Date('2023-04-13T14:50:00').toString()
// "Thu Apr 13 2023 14:50:00 GMT+0200 (heure d’été d’Europe centrale)"
new Date('2023-04-13T14:50:00').toString()
// 'Thu Apr 13 2023 14:50:00 GMT+0000 (temps universel coordonné)'
Semble très bien géré*
OffsetDateTime, ZonedDateTime and Instant all store an instant on the time-line […]
Documentation package Java `time`
Le format JavaZDT vient de Java !
* mais je ne maîtrise pas le language
php.net/datetime
documentation SPL zoneinfo* mais je ne maîtrise pas le language
`DateTime` ne gère ni les secondes intercalaire, ni n'assure le suivi d'aucune règle de changement d'heure d'été.
[…]
Si vous voulez aussi gérer les fuseaux horaires, alors bon courage […]
Pire librairie possible : API pas pratique, sujette à l'erreur, inconsistante, pas vraiment de gestion des fuseaux horaires
d = new Date()
>> Date Mon Nov 21 2022 23:14:30 GMT+0100 (heure normale d’Europe centrale)
d.getDay() // en fait : day of week
>> 1
d.getDate() // day ?
>> 21
d.getMonth() // 0-indexé
>> 10
le standard SQL possède un mélange étrange de types de date/heure et de possibilités.documentation de Postgresql
Testons :
SELECT '2023-01-01 00:00+10'::timestamptz;
timestamptz
------------------------
2022-12-31 15:00:00+01
(1 row)
Toutes les dates et heures liées à un fuseau horaire sont stockées en interne en UTC.
CONVERT_TZ(datetime, from_tz, to_tz)
datetime AT TIME ZONE to_TZ
| value | timezone |
| ------------------- | ------------ |
| 2023-04-13T12:50:00 | Europe/Paris |
Même combat que pour SQL, mais avec un peu plus de flexibilité
{
"date": "2022-11-25T12:00:00+01:00",
"timezone": "Europe/Paris"
}
© xkcd