Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/04/2011, 11h29   #1
Membre habitué
 
Avatar de richard_sraing
 
Homme Raphaël
Responsable de service informatique
Inscription : avril 2005
Messages : 374
Détails du profil
Informations personnelles :
Nom : Homme Raphaël
Localisation : Belgique

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

Informations forums :
Inscription : avril 2005
Messages : 374
Points : 121
Points : 121
Envoyer un message via MSN à richard_sraing
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.
__________________
First step: F.A.Q.
Second step: Forum -> Recherche
Thrid step: Forum -> Poser une question
Fourth step: Forum -> Attendre une réponse
Fifth step: Forum -> Remercier les personnes ayant répondu et signaler comme résolu

Simple non ? l'utilisation de developpez.com
richard_sraing est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 11h40   #2
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Citation:
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 :
1
2
3
4
list($j,$m,$a) = explode('/',$chainedate);
list($h,$m) = explode(':',$chaineheure);
 
$time = mktime($h,$m,0,$m,$j,$a);
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 11h57   #3
Membre habitué
 
Avatar de richard_sraing
 
Homme Raphaël
Responsable de service informatique
Inscription : avril 2005
Messages : 374
Détails du profil
Informations personnelles :
Nom : Homme Raphaël
Localisation : Belgique

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

Informations forums :
Inscription : avril 2005
Messages : 374
Points : 121
Points : 121
Envoyer un message via MSN à richard_sraing
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
__________________
First step: F.A.Q.
Second step: Forum -> Recherche
Thrid step: Forum -> Poser une question
Fourth step: Forum -> Attendre une réponse
Fifth step: Forum -> Remercier les personnes ayant répondu et signaler comme résolu

Simple non ? l'utilisation de developpez.com
richard_sraing est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 13h00   #4
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

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

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
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 :
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 :
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);
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 13h04   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
sinon c'est date_create_from_format, avec PHP 5.3
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h48.


 
 
 
 
Partenaires

Hébergement Web