Convertir format date de Excel en format date ( YYYY-MM-DD)
Résolu
ksomda
Messages postés
35
Date d'inscription
Statut
Membre
Dernière intervention
-
ksomda Messages postés 35 Date d'inscription Statut Membre Dernière intervention -
ksomda Messages postés 35 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde,
je viens vers vous parce que j'ai un soucis. Mon soucis est le suivant: j'importes un fichier excel contenant des champs de dates. l'importation marche. Je lies dans ce fichier excel importé à l'aide du plugin PHPExcel. Toutefois, les champs des dates sont toutes lues en php comme des nombres à titre d'exemple 15 Juillet 2016 écrit dans Excel devient 42566 lors de la récupération des données dans mon code php. J'ai essayé les méthodes de " date ", mktime, DateTime::createFromFormat() mais la date me renvoie soit 01 Janvier 1970 soit des messages d'erreurs. S'il vous plait pouvez m'aider.
je viens vers vous parce que j'ai un soucis. Mon soucis est le suivant: j'importes un fichier excel contenant des champs de dates. l'importation marche. Je lies dans ce fichier excel importé à l'aide du plugin PHPExcel. Toutefois, les champs des dates sont toutes lues en php comme des nombres à titre d'exemple 15 Juillet 2016 écrit dans Excel devient 42566 lors de la récupération des données dans mon code php. J'ai essayé les méthodes de " date ", mktime, DateTime::createFromFormat() mais la date me renvoie soit 01 Janvier 1970 soit des messages d'erreurs. S'il vous plait pouvez m'aider.
A voir également:
- Phpexcel format date
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Format dat - Guide
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
3 réponses
Les dates sont sous quels formats dans le fichier Excel, car là je vois pas à quoi correspond une date de type Excel. Ensuite le fichier à quel extension? Car la PHP peut parser du CSV directement.
Bonjour,
Le chiffre 42566 représente l'écart du nombre de jours entre le 01/01/1900 et le 15/07/2016(qui est le point de départ des dates dans Excel).
Le chiffre 42566 représente l'écart du nombre de jours entre le 01/01/1900 et le 15/07/2016(qui est le point de départ des dates dans Excel).
Voici
ex: $dateExcel = 42566
Le timestamp de excel est le nombre de jours écoulé depuis le 01/01/1900.
Le timestamp de PHP est le nombre de jours écoulé depuis le le 01/01/1970
Il faut donc retiré le nombre de jours écoulé entre le 01/01/1900 et le 01/01/1970 (25569) au timestamp excel, puis le multiplié par 24*60*60 pour avoir cette valeur en secondes.
$datephp= date('d/m/Y', ($dateExcel - 25569)*24*60*60 );
ex: $dateExcel = 42566
Le timestamp de excel est le nombre de jours écoulé depuis le 01/01/1900.
Le timestamp de PHP est le nombre de jours écoulé depuis le le 01/01/1970
Il faut donc retiré le nombre de jours écoulé entre le 01/01/1900 et le 01/01/1970 (25569) au timestamp excel, puis le multiplié par 24*60*60 pour avoir cette valeur en secondes.
Vu que j'utilise PHPExcel pour lire, c'est ce que j'ai trouvé avec un développeur