Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
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 13/01/2011, 17h02   #1
Débutant
 
Inscription : mai 2005
Messages : 1 957
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2005
Messages : 1 957
Points : 615
Points : 615
Par défaut [date()] comment avoir l'heure d'hiver

Bonjour à tous,

J'utilise cette fonction pour enregistré la date des enregitrement dans ma base de donnée
Code PHP :
1
2
 
date("Y-m-d H:i:s")
Le truc c'est que l'heure à toujors de l'avance sur le moment de l'enregitrement.
Je ne sais pas si il y a exactement 1 heure d'avance, mais il vient d'avoir un enregistrement et il me semble bien.

En fait je suis presque sure que l'heure est celle de l'été.

Comment puis-je faire pour que l'heure d'été et hiver change au bon moment et automatiquement.

Merci
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!
pierrot10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 17h46   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
L'heure est celle du serveur.

Vérifie/change eventuellement le fuseau horaire avec date_default_timezone_set().
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 18h52   #3
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 015
Points : 5 015
En effet, regarde ce qui se passe quand tu fais executer ça par php:
Code :
1
2
 
echo date('d/m/Y h:i:s', time());
__________________
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 13/01/2011, 21h57   #4
Débutant
 
Inscription : mai 2005
Messages : 1 957
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2005
Messages : 1 957
Points : 615
Points : 615
Oui j'en suis aussi sure.
Si j'essaye ca, c'est en prod. C'est pas trop important alors je préfère laisé ca de côté pour le moment.
En tout cas merci pour vos suggestions.

Une autre petite question simple que je n'ai pas trouver sur le forum..

Comment ajouter 30 jours à une date qui est enregistré sous ce format
Code PHP :
1
2
3
 
echo date('Y-m-d H:i:s');
2011-01-13 22:01.00
j'aimerais avoir
Citation:
2011-02-12 22:01:00
En fait j'aimerais contrôler si la date de l'enregistrement est plus ancienne de 30 jours
en tenant compte des années biscetiles et des mois à 30 et 31?
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!
pierrot10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 22h04   #5
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Si tu parles d'enregistrement dans une base de données, utilise les fonctions de manipulation de date de ton SGDB.

Sinon en PHP, l'objet Datetime si tu es en PHP5.3, sinon strtotime()
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 22h04   #6
Débutant
 
Inscription : mai 2005
Messages : 1 957
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2005
Messages : 1 957
Points : 615
Points : 615
Ha ben j'ai trouvé
Code PHP :
1
2
 
echo date('Y-m-d H:i:s',time() + (30 * 24 * 60 * 60));
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!
pierrot10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 22h06   #7
Débutant
 
Inscription : mai 2005
Messages : 1 957
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2005
Messages : 1 957
Points : 615
Points : 615
ha Sabotage,
j'avais pas vu ta réponse.
Es-ce que je propose, ca va aussi, non?
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!
pierrot10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 22h09   #8
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Techniquement non : tous les jours ne font pas 24h.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 22h15   #9
Débutant
 
Inscription : mai 2005
Messages : 1 957
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2005
Messages : 1 957
Points : 615
Points : 615
ben, il y a bien 24h dans un jour
je vois pas ce que tu veux dire
__________________
Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!
pierrot10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 22h17   #10
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
A cause des changements d'heure justement non.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 01h25   #11
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 015
Points : 5 015
Citation:
Envoyé par pierrot10 Voir le message
Ha ben j'ai trouvé
Code PHP :
1
2
 
echo date('Y-m-d H:i:s',time() + (30 * 24 * 60 * 60));
Cette méthode est complêtement fausse. Si tu souhaite aller au mois prochain à partir d'une date donnée il faut utiliser:
Code :
1
2
 
echo strtotime('+1 month', $date);
Regarde là: http://php.net/manual/fr/function.strtotime.php
ça va calculer exactement le jour du mois suivant et pas +30 jours.
__________________
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
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h03.


 
 
 
 
Partenaires

Hébergement Web