ISO 8601 date heure datetime timestamp timezone
Par PlaceOweb le lundi, novembre 30 2009, 12:36 - Outils Internet - Lien permanent
Existe t'il une norme de dates utilisée et implémentée les principaux langages de programmation ?
La norme des dates : ISO 8601
iso.org : Les Normes internationales
Représentation numérique de la date et de l'heure avec la norme ISO 8601 traitant de la représentation des éléments suivants:
- Date
- Heure du jour
- Temps Universel Coordonné (UTC)
- Heure locale avec décalage horaire UTC
- Date et heure
- Intervalles de temps
- Intervalles de temps périodiques
La représentation peut se présenter sous deux formes. Le format de base comporte un nombre de caractères minimal et le format étendu compte des caractères supplémentaires pour en faciliter la lisibilité pour un lecteur humain. Par exemple, le trois janvier 2010 peut être représenté par 20100103 ou par 2010-01-03.
La norme ISO 8601
- Wikipédia : ISO 8601 ISO 8601
- La norme ISO 8601
- W3C : Date and Time Formats
Décalage et fuseaux horaire
- UTC Londres Royaume-Uni
- UTC+1 Paris France (en heure d'hivers, sinon +2 en heure d'été)
- la période de l’heure d’été commence, à 1 heure du matin, UTC, le dernier dimanche de mars.
- la période de l’heure d’été se termine, à 1 heure du matin, UTC, le dernier dimanche d’octobre.
Programmez ISO 8601
ISO 8601 en JAVA
ISO 8601 en PHP
La classe DateTime
- DateTime::format retourne la date au format demandé et accepté par date().
Date et Heure complète c Date au format ISO 8601 2004-02-12T15:19:21+00:00 Jour N Représentation numérique ISO-8601 du jour de la semaine (ajouté en PHP 5.1.0) 1 (pour Lundi) à 7 (pour Dimanche) Semaine W Numéro de semaine dans l'année ISO-8601, les semaines commencent le lundi (ajouté en PHP 4.1.0) Exemple : 42 (la 42ème semaine de l'année) Année o L'année ISO-8601. C'est la même valeur que Y, excepté que si le numéro de la semaine ISO (W) appartient à l'année précédente ou suivante, cette année sera utilisé à la place. Exemples : 1999 ou 2003
DateTime::ISO8601 DATE_ISO8601 ISO-8601 (exemple : 2010-08-15T15:52:01+0000)
- DateTime::setISODate et son alias date_isodate_set
- strtotime Transforme un texte anglais en timestamp
$iso_date = date('c',strtotime($selected_timestamp));
ISO 8601 en C# (csharp)
DateTime lastTime = DateTime.Now; DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); DateTime.Now.ToString("s"); // basé sur ISO 8601 ; yyyy'-'MM'-'dd'T'HH':'mm':'ss // Creates and initializes a DateTimeFormatInfo associated with the en-US culture. DateTimeFormatInfo myDTFI = new CultureInfo( "en-US", false ).DateTimeFormat; // Creates a DateTime with the Gregorian date January 3, 2010 (year=2010, month=1, day=3). // The Gregorian calendar is the default calendar for the en-US culture. DateTime myDT = new DateTime( 2010, 1, 3 ); // Displays the format pattern associated with each format character. Console.WriteLine( " s {0}", myDT.ToString("s", myDTFI) ); Console.WriteLine( " {0} {1}\n", myDTFI.SortableDateTimePattern, "(SortableDateTimePattern)" ); // FORMAT en-US EXAMPLE // CHAR VALUE OF ASSOCIATED PROPERTY, IF ANY // // s 2010-01-03T00:00:00 // yyyy'-'MM'-'dd'T'HH':'mm':'ss (SortableDateTimePattern)
s SortableDateTimePattern (basé sur ISO 8601) en utilisant l'heure locale ; avec ce modèle de format, l'opération de mise en forme ou d'analyse utilise toujours la culture indifférente
- Spécificateurs de format DateTime standard : Modèle de date/heure pouvant être trié ; conforme à ISO 8601
ISO 8601 en MySQL
SELECT DATE_FORMAT(CURRENT_TIMESTAMP,'%Y-%m-%dT%TZ')
GET_FORMAT(TIME,'ISO') Le format ISO est le format ISO 9075, et non ISO 8601.