Bug étrange avec strftime (résolu) [PHP] - PHP - Programmation
Marsh Posté le 26-04-2006 à 16:08:23
utilise date()
c'est prévu pour ca
D'autre part il te manque un guillement a la fin de la ligne 7
Marsh Posté le 26-04-2006 à 16:11:47
Il y est, il est juste codé en "
Merci pour ta réponse, mais je dois avoir des résultats localisés en français, c'est pour ça que je n'utilise pas date...
Marsh Posté le 26-04-2006 à 16:13:27
a mon humble avis tu te fera moins chier a utiliser date() avec un switch pour la conversion FR que ta methode
Marsh Posté le 26-04-2006 à 16:14:03
Je viens de tester avec la fonction date...
Sat 28
Sun 29
Sun 29
Mon 30
Marsh Posté le 26-04-2006 à 16:22:48
encore plus étrange : avec
Code :
|
c'est à dire remplacer le timestamp par un mktime (qui donne le même résultat), aucun bug...
Marsh Posté le 26-04-2006 à 16:35:06
un conseil... en prog , il est conseillé de dissocier PHP et HTML
Si tu veux absolument savoir ou es ton erreur, affiche pour chaque execution la valeur des variables et tu sauras ou ca bug
Marsh Posté le 26-04-2006 à 16:46:10
ce que j'ai fais... Il y a un décalage à partir de la 2e itération de la boucle : avec ce script :
Code :
|
ça me donne
Jour N° du jour timestamp avec mktime timestamp avec $timestamp+($i-1)*24*3600; différence des deux
Wed 01 1222812000 1222812000 0
Thu 02 1222898400 1222984800 -86400
On voit bien que à partir de la deuxième itération, il y a une différence entre le mktime créé et le timestamp qu'on incrémente... quand on divise la différence par 3600 on obtient... 24.
Marsh Posté le 26-04-2006 à 16:49:41
en ce cas regardes a quel moment la valeur de ces variables est modifié et affiche les séparément, si ca se trouve ton $timestamp+$i*24*3600 le dérange au niveau de la priorité d'execution des opération, essaye avec des parentheses.
Marsh Posté le 26-04-2006 à 16:56:49
Une idée: ça viendrait pas du changement d'heure?
Car les mêmes décalages d'une heure apparaissent en mars... mais en négatif...
Marsh Posté le 26-04-2006 à 18:53:11
Effectivement, ça vient bien du changement d'heure. Il faut refaire un mktime après chaque changement d'heure français...
Marsh Posté le 12-08-2010 à 13:09:51
Up
Citation : Effectivement, ça vient bien du changement d'heure. Il faut refaire un mktime après chaque changement d'heure français... |
N'ayant pas compris le "refaire un mktime" j'ai cherché une autre solution au problème. Et elle se trouve dans l'usage de la fonction strtotime, qui elle, gère le changement d'heure ! http://php.net/manual/en/function.strtotime.php
Exemple d'utilisation (un form envoie mois, jour, annee et un nombre de nuits à réserver à l'hôtel) :
Code :
|
Cela fonctionne sur les dimanches des changements d'heure, ce qui n'était pas le cas avec les autres fonctions de dates.
Cela pourra servir aux personnes qui arrivent sur ce vieux post
Marsh Posté le 26-04-2006 à 16:01:08
Voilà voilà, je fais un script de gestion de calendrier. Je me suis aperçu qu'au mois d'octobre, il y avait deux dimanches. J'ai simplifié le script pour pouvoir le montrer ici :
Voilà. un simple script qui crée un timestamp pour le 1er Octobre 2006, et qui incrémente de (24*3600) le nombre de secondes pour chaque jour...
En toute logique, je ne devrait donc pas avoir :
ven. 27
sam. 28
dim. 29
dim. 29
lun. 30
Quelqu'un a une idée?
Message édité par Profil supprimé le 27-04-2006 à 08:56:06