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 :

Convertir deux chaine en temps unix [PHP 5.2]


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de richard_sraing
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2005
    Messages : 483
    Points : 182
    Points
    182
    Par défaut Convertir deux chaine en temps unix
    Bonjour à tous,

    Je suis toujours sur le développement du site pour la réservation de visites guidées, et je coince sur une fonction. En fait, je ne sais pas comment réaliser la chose suivante :

    Je dispose dans mon formulaire, de deux champs permettant d'une première part, de saisir la date de la visite, et le deuxième champ, permettant de saisir l'heure de la visite. Au niveau de mon application de gestion des ressources, le développeur a utilisé des champs de valeurs en temps unix, à savoir le nombre de secondes écoulées depuis le 1 janvier 1970.
    Existe-t-il en php, une fonction permettant de réaliser la conversion de chaine vers un temps unix ?

    Petite information, au niveau de la date, le visiteur du site l'encode au format européen, à savoir "JJ/MM/AAAA", mais dans ma BD, je réaliser déjà la conversion en "AAAA/MM/JJ". au niveau de l'heure, elle est encodée "hh:mm".

    Je ne sais pas si il faut d'autres informations pour m'aiguiller, mais si jamais, dites le moi, car moi, je ne m'y retrouve pas avec toutes ces fonctions en php.

    En vous remerciant pour l'aide que vous pourrez m'accorder, je vous souhaite à tous de passer une bonne journée.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 241
    Points
    20 241
    Par défaut
    Existe-t-il en php, une fonction permettant de réaliser la conversion de chaine vers un temps unix ?
    strotime() rempli ce role , mais n'accepte que certains format bien défini.

    Si ta chaine est de la forme JJ/MM/AAAA le plus simple est de passer par mktime()

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    list($j,$m,$a) = explode('/',$chainedate);
    list($h,$m) = explode(':',$chaineheure);
     
    $time = mktime($h,$m,0,$m,$j,$a);

  3. #3
    Membre habitué Avatar de richard_sraing
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2005
    Messages : 483
    Points : 182
    Points
    182
    Par défaut
    Wahou,

    En bien, ce soir j'irais encore une fois dormir moins bête, car je viens à nouveau d'apprendre quelque chose.

    Je ne connaissais même pas list(). Je viens de lire la doc dessus, et ça à l'air plutôt pratique.

    Je vais marquer comme résolu, mais si les tests ne sont pas encore fait.

    Encore merci

  4. #4
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Attention avec la directive list, ça part en sucette si le nombre de variables à setter est supérieur au nombre d'entrées du tableau, pour palier à ça tu peux utiliser cette forme pour sécuriser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $values = array(1,2,3);
    list($a,$b,$c,$d,$e) = array_merge($values, array_fill(0,5,null));
     
    // visualiser
    var_dump(compact('a','b','c','d','e'));
    $values ne contiends que 3 entrées donc les variables $d et $e ne pourront être définie, ce qui conduit à l'émission d'un E_NOTICE. Pour ce faire, on concatène le tableau de valeur avec un tableau de 5 entrées rempli avec des null afin de contourner la limitation. C'est pratique quand on a besoin de sortir des variables d'un tableau dont on ne connait par à l'avance le nombre d'entrées.

    Tu peux aussi te servir (avec modération car c'est généralement dangereux) des fonction extract et compact respectivement pour générer des variables à partir d'un tableau associatif et pour combiner un tableau à partir de variables.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $tab = array('a' => 1, 'b' => 2, 'c' => 3);
    extract($tab);
    $a *= $a;
    $b *= $b;
    $c *= $c;
    $tab = compact('a','b','c');
    var_dump($tab);

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    sinon c'est date_create_from_format, avec PHP 5.3

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

Discussions similaires

  1. [Eclipse 3.0.1] Convertir des sources Dos en Unix
    Par Bicnic dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 22/09/2009, 16h38
  2. Convertir une chaine en format heure
    Par Lars dans le forum ASP
    Réponses: 3
    Dernier message: 24/05/2005, 11h44
  3. Convertir une chaine UTF8 en ISO-8859-1
    Par eods dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 26/08/2004, 16h57
  4. Réponses: 5
    Dernier message: 06/10/2003, 17h49
  5. Script test de deux chaine avec if
    Par kacedda dans le forum Linux
    Réponses: 6
    Dernier message: 02/05/2003, 15h38

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