PHP - Traitement dates
Salut a tous, Je suis en train d'écrire une fonction a laquelle j'envoie une date format MySQL Date (-MM-DD), et qui me retourne qqch comme Lundi 3 Décembre 2001. Tout va bien jusqu'à la partie qui doit définir si c'est un lundi ou un jeudi etc. - J'ai trouvé sur le web des bouts de code pour tout et n'importe quoi, mais rien de ce genre. Serait-ce parce que cette fonction existe, et que par conséquant je perds mon temps ? Quelqu'un peut il m'éclairer ? Merci d'avance, Ninn Langel -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question. Ouais, pour se désabonner aussi.
Re: PHP - Traitement dates
Salut, Tout va bien jusqu'à la partie qui doit définir si c'est un lundi ou un jeudi etc. function dayofweek($day,$month,$year) { # computes day of week for any date in the Gregorian calendar # The returned value will be 0 for a Sunday, 1 for a Monday, ... # Source : The calendar FAQ # http://na-tzul.pauahtun.org/CalendarFAQ/ $a = (int)( ( 14 - $month ) / 12 ) ; $y = $year - $a ; $m = $month + 12 * $a - 2 ; $d = $day + $y + (int)($y/4) - (int)($y/100) + (int)($y/400) + (int)(31*$m/12) ; $d = $d % 7 ; return $d ; } Dom -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question. Ouais, pour se désabonner aussi.
Re: PHP - Traitement dates
On Wed, 28 Nov 2001, Ninn Langel wrote: Je suis en train d'écrire une fonction a laquelle j'envoie une date format MySQL Date (-MM-DD), et qui me retourne qqch comme Lundi 3 Décembre 2001. UNIX de base supporte, par ses fonctions de temps de la bibliothèque C standard (cf man 3 ctime, notamment la fonction localtime p.ex.) ce genre de fonctions. On peut les appeler depuis Perl via le module POSIX. Peut-être même depuis PHP, ce qui permettrait de réutiliser le savoir UNIX accumulé et de ne pas devoir réapprendre à chaque fois. Alternativement, il y a peut-être une fonction de conversion de temps interne à MySQL. Avec PostgreSQL on peut faire ainsi: sfi_contacts= SELECT day, date_part('dow', day) AS jour_semaine FROM event LIMIT 1; day|jour_semaine --+- 2001-11-26|1 avec dow (`day of week') 1 lundi, etc. -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question. Ouais, pour se désabonner aussi.