2017-07-02 1 views
1

Est-ce une représentation ISO 8601 valide de DateTime?ISO 8601 Représentation DateTime

20170704T09: 30: 00 + 0530

à savoir si une combinaison des deux formats de base et étendue peut être utilisé? Ou devrait-il que l'une de ces:

20170704T093000 + 0530
2017-07-04T09: 30: 00 + 05: 30

Répondre

1

In Wikipedia, il est dit qu'une date combinée et la représentation du temps peut être en format de base ou étendu, mais la date et l'heure doivent utiliser le même format.

En ISO 8601, il n'y a aucune mention d'une représentation mixte aussi bien - un coup d'oeil les exemples dans la section 4.3.2 . Bien que je ne puisse pas trouver une déclaration explicite sur les formats de mixage, il me semble que vous ne pouvez pas mélanger des formats basiques et étendus dans la même représentation.

Cela étant dit, je dirais qu'un format comme 20170704T09:30:00+0530 est pas valide dans la norme ISO 8601.

+0

Aussi est-il préférable d'utiliser RFC3339 dire iso 8601 étendu au lieu de simplement le 8601 de base pour la représentation du temps de date? –

+0

Je pense que cela dépend des formats acceptés par les applications sur lesquelles vous travaillez. En fait, la RFC 3339 est une [extension ISO 8601 "] (https://stackoverflow.com/a/522281/7605325) et accepte une représentation complète de la date et de l'heure, tandis que l'ISO elle-même est plus flexible. Vous devez vérifier les exigences de votre système et choisir en conséquence. –

0

Alors que ISO6801-2004 ne permet pas le mélange des représentations de base et étendues, il n'y a pas de clause dans la révision 2004 cela interdirait explicitement cela.

Cette question sera abordée dans la prochaine révision de ISO8601 [1] qui inclut enfin une définition de formulaire Backus-Naur d'une syntaxe d'horodatage valide.

(* 4.3.2 Complete representations *) 
dateTimeOfDayBasic = calendarDateBasic, "T", timeCompleteBasic, 
        [ "Z" | UTCoffsetBasic ] ; 
dateTimeOfDayExt = calendarDateExt, "T", timeCompleteExt, 
        [ "Z" | UTCoffsetExt ] ; 

[1] Projet 26/10/2016: https://www.loc.gov/standards/datetime/ISO_DIS%208601-1.pdf