Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1559 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Probleme avec DATE_FORMAT au changement d'année

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme avec DATE_FORMAT au changement d'année

n°1833689
IvanleFou
Posté le 04-01-2009 à 17:42:15  profilanswer
 

Bonjour,
 
J'utilise une requete pour sortir les resultats sur les 30 derniers jours et jusqua present je n'ai jamais eu de probleme. Et je viens d'en avoir en cette fin d'année (bug de l'an 2009 [:autobot]  :D )
 
Voici ma reqeute:

Code :
  1. SELECT ".DB_PROJET.".id_projet, nom_projet, today.user_credit AS tot_credit,
  2. DATE_FORMAT(today.date_maj, '%x-%m-%d') AS today_test,
  3. DATE_FORMAT(SUBDATE(today.date_maj, 1), '%x-%m-%d') AS today,
  4. UNIX_TIMESTAMP(SUBDATE(today.date_maj, 1)) AS today_ts
  5. FROM ".DB_TEAM_PJT.", ".DB_PROJET.", ".DB_STAT_LIST_USER.", ".DB_STAT_USER." AS today
  6. WHERE ".DB_STAT_LIST_USER.".id_nom_user='".MyAddSlashes($_GET['id'])."'
  7. AND ".DB_STAT_LIST_USER.".id_team_pjt=".DB_TEAM_PJT.".id_team_pjt
  8. AND ".DB_TEAM_PJT.".id_projet=".DB_PROJET.".id_projet
  9. AND ".DB_STAT_LIST_USER.".id_user=today.id_user
  10. AND HOUR(today.date_maj)='00'
  11. AND today.date_maj>FROM_UNIXTIME(".$Day_30." )
  12. ORDER BY nom_projet, today.date_maj ASC


 
Et voici ce qu'elle me sort:
 

Citation :

[...]
Array ( [id_projet] => 30 [nom_projet] => 3x+1@home [tot_credit] => 308000 [today_test] => 2008-12-24 [today] => 2008-12-23 [today_ts] => 1229986800 )  
Array ( [id_projet] => 30 [nom_projet] => 3x+1@home [tot_credit] => 311000 [today_test] => 2008-12-25 [today] => 2008-12-24 [today_ts] => 1230073200 )  
Array ( [id_projet] => 30 [nom_projet] => 3x+1@home [tot_credit] => 311300 [today_test] => 2008-12-26 [today] => 2008-12-25 [today_ts] => 1230159600 )  
Array ( [id_projet] => 30 [nom_projet] => 3x+1@home [tot_credit] => 311300 [today_test] => 2008-12-27 [today] => 2008-12-26 [today_ts] => 1230246000 )  
Array ( [id_projet] => 30 [nom_projet] => 3x+1@home [tot_credit] => 311300 [today_test] => 2008-12-28 [today] => 2008-12-27 [today_ts] => 1230332400 )  
Array ( [id_projet] => 30 [nom_projet] => 3x+1@home [tot_credit] => 311300 [today_test] => 2009-12-29 [today] => 2008-12-28 [today_ts] => 1230418800 )  
Array ( [id_projet] => 30 [nom_projet] => 3x+1@home [tot_credit] => 311300 [today_test] => 2009-12-30 [today] => 2009-12-29 [today_ts] => 1230505200 )  
Array ( [id_projet] => 30 [nom_projet] => 3x+1@home [tot_credit] => 311300 [today_test] => 2009-12-31 [today] => 2009-12-30 [today_ts] => 1230591600 )  
Array ( [id_projet] => 30 [nom_projet] => 3x+1@home [tot_credit] => 311300 [today_test] => 2009-01-01 [today] => 2009-12-31 [today_ts] => 1230678000 )  
Array ( [id_projet] => 30 [nom_projet] => 3x+1@home [tot_credit] => 311300 [today_test] => 2009-01-02 [today] => 2009-01-01 [today_ts] => 1230764400 )  
Array ( [id_projet] => 30 [nom_projet] => 3x+1@home [tot_credit] => 311300 [today_test] => 2009-01-03 [today] => 2009-01-02 [today_ts] => 1230850800 )  
Array ( [id_projet] => 30 [nom_projet] => 3x+1@home [tot_credit] => 311300 [today_test] => 2009-01-04 [today] => 2009-01-03 [today_ts] => 1230937200 )


 
L'année des 3 derniers jours de decembre est 2009!!??! :??: Pourtant le timestamp est correct il correspond a 2008 et pas 2009. la colonne date_maj est stockée dans un datetime.
 
Est ce que ce genre de probleme vous evoque quelque chose? Merci pour votre aide


Message édité par IvanleFou le 04-01-2009 à 17:43:04
mood
Publicité
Posté le 04-01-2009 à 17:42:15  profilanswer
 

n°1833997
jeca
Posté le 05-01-2009 à 13:13:10  profilanswer
 

Bonjour,
 
Il n'y a pas de bug. '%x' donne le numéro de l'année correspondant au numéro de semaine de la date. Or le 29/12/2008 se trouve dans la semaine N° 1 de l'année 2009. Si tu veux l'année réelle, c'est '%Y'.

n°1834054
IvanleFou
Posté le 05-01-2009 à 14:23:45  profilanswer
 

Ha effectivement c'est bien ca. j'ai mal lu la doc :sweat:  
 
Merci et bonne année :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Probleme avec DATE_FORMAT au changement d'année

 

Sujets relatifs
probleme c++ installation qtprobleme installation sdl_image
Problème objet/classe[Résolu]Milieu entre 2 date
Problème algorithme de DijkstraProblème d'attribution de valeur à une structure
[C - Gros débutant] Probleme de variable ...probleme image 4d, PHP, SQL
impossible de rejouer....probleme de scanf :(Problème avec condition dans script batch
Plus de sujets relatifs à : Probleme avec DATE_FORMAT au changement d'année


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR