Solution 1 :
- Le format ISO 8601 doit être respecté autant que possible, car c'est ce qui se rapproche le plus d'une norme.
- Le "T" n'est pas une pierre d'achoppement suffisante pour vraiment justifier de s'en débarrasser.
- Les ':' sont potentiellement mortels, ils doivent donc être évités.
- Pour les raisons mentionnées dans les réponses des autres, l'UTC (ou l'heure "Z") doit être utilisée.
- ISO 8601 inclut un format utilisant l'UTC (heure 'Z'), qui doit être utilisé.
- ISO 8601 inclut un format qui n'utilise pas le caractère ':', qui doit être utilisé.
Alors... Exemples de "meilleurs" formats date-heure :
-
20120317T1748Z
- 100 % conformément à la norme ISO 8601
- caractères alphanumériques uniquement (très convivial pour l'administrateur système)
- pas le plus rapide à lire, mais certainement lisible par le profane
-
2012-03-17T1748Z
- la partie date est conforme à la norme ISO 8601
- la partie horaire est conforme à la norme ISO 8601
- la transition entre la date et l'heure est conforme à la norme ISO 8601
- mélange le format "étendu" ISO 8601 (date avec tirets, heure avec deux-points) avec le format "de base" ISO 8601 (date sans tirets, heure sans deux-points), ce qui n'est probablement pas tout à fait correct
- ajoute le caractère '-' (vs 1.)
- un peu plus facile à lire pour le profane (vs 1.)
-
2012-03-17--1748Z
- la partie date est conforme à la norme ISO 8601
- la partie horaire est conforme à la norme ISO 8601
- la transition entre la date et l'heure n'est pas conforme à la norme ISO 8601
- mélange le format "étendu" ISO 8601 avec le format "basique" ISO 8601
- un peu plus facile à lire pour le profane (vs 1. et 2.)
- pas de nouveaux personnages (vs 2.)
Je suis partisan de 1. car il est entièrement conforme à la norme, mais les autres sont proches.
Remarque ::Ajoutez des secondes si nécessaire, bien sûr. ...et oui, avec ou sans secondes (ou même minutes) est tout conforme à la norme ISO 8601. :)
Solution 2 :
Je n'inclurais pas de fuseau horaire, j'utiliserais uniquement le temps universel. En cas de confusion, vous pouvez ajouter un suffixe -UTC. Si vous spécifiez un fuseau horaire, quelqu'un peut en dépendre. Et il y aurait des cas étranges où les changements d'heure d'été ou les changements d'heure d'été causent des ravages sur certains traitements, ou le traitement est différent sur certains systèmes parce que leur configuration DST n'est pas à jour. UTC est toujours le même partout.
Je pense que les tirets rendent le nom du fichier plus lisible, dans le sens où il est plus facile de discerner la date et l'heure des données du fichier. Si vous souhaitez inclure une précision inférieure à la seconde, il s'agit généralement de .nnnnn.
Personnellement, je n'aime pas le T. L'utilisation de deux-points dans un nom de fichier peut affecter l'interopérabilité avec d'autres systèmes de fichiers.