Excel – CSV et DateTime

Résumé des caractéristiques de la conversion automatique d’un champ DateTime à l’ouverture :

  • Le codage interne de la date Excel est un nombre réel dont l’unité est le jour et les fractions des heures, minutes, secondes, etc…
  • La référence ‘0’ est le 1er janvier 1900.
  • Le formatage Excel de DateTime le plus complet est ‘aaaa-mm-jj hh:mm:ss.000’.
  • Excel ne prend pas en compte les TimeZone, ni les heures d’été et d’hiver.
  • Excel effectue une conversion automatique des données lors de l’importation CSV. La conversion des champs de donnée DateTime est restreinte au format ‘aaaa-mm-jj hh:mm:ss’. Les informations supplémentaires de millisecondes ou de TimeZone sont éliminées.
  • Afin que l’information de temps universelle UTC puisse être déterminée avec exactitude, le fichier CSV doit contenir 3 champs qui sont ensuite combinés par une formule:
    • DateTime au format ‘aaaa-mm-jj hh:mm:ss’ (date et heure locales)
    • MSecs au format ‘nombre entier’ (0..999 [millisecondes])
    • TimeZone au format ‘nombre entier signé’ (+/- n [minutes])

    Le temps UTC est calculé ainsi: DateTime + Msecs/24/60/60/1000 + TimeZone/24/60.

Exemple de fichier CSV avec une date et heure locale 11.12.2013 17h11m22.345s dans le fuseau horaire de Paris +1h (heure d’hiver):

Encodage DateTime ISO 8601:

Feuille Excel d’étude DateTime: DateTime.xlsm
Format DateTime ISO 8601 simplifié: ECMAScript® Date Time String Format

Laisser un commentaire