Bonjour
Comment je peux avoir à partir de la date d'aujourd'hui
la date de début de semaine de la semaine passée
Merci
Bonjour
Comment je peux avoir à partir de la date d'aujourd'hui
la date de début de semaine de la semaine passée
Merci
Une solution pourrait être de partir de Date.now(), puis d'enlever 86400000 (l'équivalent de 24h en millisecondes) jusqu'à avoir une date avec getDay() === 1 (lundi)
voir : https://developer.mozilla.org/fr/doc...ux/Date/getDay
Sinon il y a des bibliothèques pour te faciliter la vie, la meilleure pour les dates étant momentJS
Le code se réduit alors à moment().startOf('week');
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 moment.locale('fr'); let now = moment(); console.log( now.format( "LLLL" ) ); // mardi 20 octobre 2015 00:19 console.log( now.startOf( "week" ).format( "LLLL" ) ); // lundi 19 octobre 2015 00:00 console.log( now.subtract( 7, 'days' ).startOf( "week" ).format( "LLLL") ); // lundi 12 octobre 2015 00:00
Blog
Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
(Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)
Voici la réponse pour ceux qui ont besoin
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <?php function get_semaine_passee($week,$year) { if(strftime("%W",mktime(0,0,0,01,01,$year))==1) $mon_mktime = mktime(0,0,0,01,(01-(($week-1)*7)),$year); else $mon_mktime = mktime(0,0,0,01,(01+(($week)*7)),$year); if(date("w",$mon_mktime)>1) $decalage = ((date("w",$mon_mktime)+9)*60*60*24); $lundi = $mon_mktime - $decalage; $dimanche = $lundi - (6*60*60*24); return array(date("d-m-Y",$lundi),date("d-m-Y",$dimanche)); } $tmp = get_semaine_passee(date('W'),date('Y')); echo $tmp[0]."<BR>"; // echo $tmp[1]."<BR>"; // ?>
Je doute que ceux qui en ont besoin cherchent du PHP en section JavaScript![]()
voire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <script type="text/javascript"> var d=new Date; var j=d.getDay()+6; var back=Date.parse(d)-86400000*j; console.log(new Date(back)) </script>
Partager