Trouver le lundi de la semaine en cours

mercredi 22 septembre 2004 :: perrick :: MySQL :: 2 commentaires :: aucun trackback

Cela fait pas mal de temps que je n'ai rien mis dans cette catégorie MySQL alors qu'elle figure en bonne place dans le titre de ce blog : faudra peut-être que j'y fasse quelque chose...

En attendant voici un petit truc pour trouver la date du lundi de la semaine en cours :
SELECT DATE_ADD(CURRENT_DATE, INTERVAL(- DAYOFWEEK(CURRENT_DATE) + 1) DAY).

Et pour la même chose au format timestamp :
SELECT UNIX_TIMESTAMP(DATE_ADD(CURRENT_DATE, INTERVAL(- DAYOFWEEK(CURRENT_DATE) + 1) DAY)).

Comment j'en suis arrivé là ? Tout simplement pour que le script d'installation d'openTIME soit le plus indépendant possible de PHP.

Mise-à-jour du 23/09/2004 : trouver un exemple plus probant de test unitaire en lien avec une base de données ne pouvais pas être plus évident, j'ai donc corrigé la fonction ci-dessus.

Vos commentaires et/ou trackbacks

Le mercredi 29 juin 2005 à 15:35, commentaire par titi :: #

g testé et chez moi ça ne marche pas tout à fait, il y a un décalage d'un jour.

par contre j'ai modifié légèrement et là ça marche me semble-t-il :

SELECT DATE_ADD(CURRENT_DATE, INTERVAL(- WEEKDAY(CURRENT_DATE)) DAY);

Le samedi 20 août 2005 à 15:58, commentaire par chmouc :: site :: #

On peut utiliser DATE_SUB à la place de DATE_ADD avec un moins.

Ajouter un commentaire

Les commentaires pour ce billet sont fermés.