IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Conversion date avec array_reverse()


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 19
    Points : 15
    Points
    15
    Par défaut Conversion date avec array_reverse()
    Bonjour,

    Je rencontre un soucis avec la fonction array_reverse() pour convertir une date à partir d'un fichier .xlsx : la position du jour et du mois sont inversés (je convertis également des dates à partir de fichiers .csv sans problème).

    Un exemple du fichier source .xlx :
    Date Heure Nom de la caisse Numéro du ticket
    20/12/2022 18:00:57 iPad 24674

    Le script avant import en BDD :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $date = implode('-', array_reverse(explode('/', $sheetData[$i][0])));
    Le résultat en BDD, avec jour et mois inversés :
    Nom : 2023-01-09 10 50 41.jpg
Affichages : 54
Taille : 37,6 Ko

    Est-ce que j'utilise mal cette fonction ?

    Merci pour votre aide !!!

    Goo

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 447
    Points : 4 966
    Points
    4 966
    Par défaut
    Bonjour,

    Aucun problème avec array_reverse ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $sheetData=[["20/12/2022"],["30/12/2022"],["05/01/2023"]];
    foreach($sheetData as $value){
    	echo implode('-', array_reverse(explode('/', $value[0])))."\n\r";
    }
    Résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    2022-12-20
    2022-12-30
    2023-01-05

  3. #3
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 19
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par Toufik83 Voir le message
    Bonjour,

    Aucun problème avec array_reverse ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $sheetData=[["20/12/2022"],["30/12/2022"],["05/01/2023"]];
    foreach($sheetData as $value){
    	echo implode('-', array_reverse(explode('/', $value[0])))."\n\r";
    }
    Merci Toufik83 !
    Mais ça ne fonctionne pas mieux.
    Alors j'y suis allé à la dure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            $pre_date = explode('/', $sheetData[$i][0]);
            $date = $pre_date[2] . '-' . $pre_date[0] . '-' . $pre_date[1];
    Et là c'est ok !

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 766
    Points : 43 927
    Points
    43 927
    Par défaut
    MySQL stocke les date en format américain YYYY-MM-DD donc 20/12/2022 sera stocké sous la forme 2022-12-20.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conversion texte en date avec SQL delphi
    Par DAEM86 dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/12/2015, 22h28
  2. Conversion Date avec TIMESTAMP(6)
    Par jalleks dans le forum OTIC (ex-Genio)
    Réponses: 3
    Dernier message: 06/06/2013, 15h53
  3. conversion de dates avec now() et to_char()
    Par pierrelm dans le forum PostgreSQL
    Réponses: 0
    Dernier message: 09/06/2008, 15h31
  4. Probleme de conversion String -> Date avec SimpleDateFormat.parse(String)
    Par jeanlouis_lecodeur dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 02/07/2007, 09h18
  5. Conversion timestamp vers date avec oracle 9.2
    Par gaboo_bl dans le forum Oracle
    Réponses: 5
    Dernier message: 27/11/2006, 14h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo