2009-07-23 8 views

Répondre

51
new Date().getDay(); //0=Sun, 1=Mon, ..., 6=Sat 

Voir aussi: Javascript Date Object sur MDN.

Avertissement: Retourne le jour de la semaine dans le navigateur. Parce que la terre n'est pas plate, le jour de la semaine pour certains utilisateurs peut être différent du jour de la semaine pour votre serveur. Cela peut ou peut ne pas être pertinents à votre projet ...

Si vous faites beaucoup de travail de ce jour, vous pouvez regarder dans les bibliothèques JavaScript comme date Datejs ou Moment.js

+1

merci beaucoup! :) – Jason

+0

La page "Javascript Date Object" sur MDN inclut le support du navigateur (ce qui dans ce cas est excellent). https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date –

8
today = new Date() 
dayIndex = today.getDay() 

... vous obtiendrez une représentation numérique de "aujourd'hui".

0 = Sunday 
1 = Monday 
2 = Tuesday 
3 = Wednesday 
4 = Thursday 
5 = Friday 
6 = Saturday 
+0

lequel est dimanche? :) – Jason

+0

Zero is Sunday :) Parce que c'est une langue des États-Unis. En Europe, il serait plus logique d'avoir lundi zéro, mais ce n'est pas le cas ici. –

2

Si vous avez besoin de beaucoup de gestion de la date, jetez un oeil à DateJS.

19

Si vous avez seulement besoin cette fois dans votre page, restez simple ...

["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][(new Date()).getDay()] 

Je ne pensais pas que ce serait un gros problème pour prolonger, mais depuis que j'ai 3 voix pour l'internationalisation dans les commentaires ...

// dictionary version 
({ 
    es: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"], 
    en: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] 
})['en'][(new Date()).getDay()] 
// returns Wednesday 

// list version 
langs=['en','es'] 

[ 
    ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"], 
    ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] 
][langs.indexOf('es')][(new Date()).getDay()] 
// returns Miércoles 

Et enfin, la version de golf de code ...

["Sun","Mon","Tues","Wednes","Thurs","Fri","Satur"][(new Date()).getDay()]+"day" 
+0

Cette même chaîne peut être placée dans un modèle de soulignement, sans la nouvelle partie Date(), pour mettre en forme facilement les objets Date. _.template ( '<% = getMonth() + 1%>. <% = getDate()%>. <% = getFullYear()%><% = ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"] [getDay()]%> ', someDateObject ) – grantwparks

+0

bien! merci de contribuer. –

+1

'[" Soleil "," Mon "," Mar. "," Mercredi "," Jeu "," Ven "," Satur "] [(new Date()). GetDay()] +" jour "' Depuis tout 7 piqûres se terminent par les mêmes 3 lettres, vous pouvez les extraire plutôt que de les répéter. –

6

a plus clairement une nd réponse plus détaillée:

var days = [ 
    'SUN', //Sunday starts at 0 
    'MON', 
    'TUE', 
    'WED', 
    'THU', 
    'FRI', 
    'SAT' 
]; 

d = new Date(); //This returns Wed Apr 02 2014 17:28:55 GMT+0800 (Malay Peninsula Standard Time) 
x = d.getDay(); //This returns a number, starting with 0 for Sunday 

alert (days[x]); 

Fonctionnement fiddle.

0

date d'envoi et vous obtiendrez la position du même jour de ce mois. c'est-à-dire le 15/02/2018 est le troisième jeudi.

/*return day postion and dayname */ 
    function weekAndDay(date) { 
     var arrayWeek =[]; 
     var date = new Date(date), 
     days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'], 
     prefixes = ['','First', 'Second', 'Third', 'Fourth', 'Fifth']; 
     if (date.getDate() % 7 == 0) { 
      var prefixes2 = date.getDate()/7; 
     }else{ 
      var prefixes2 = Math.ceil(date.getDate()/7); 
     } 
     arrayWeek.push({ 
      'dayPos' : prefixes[prefixes2] , 
      'dayName' : days[date.getDay()] 
     }); 
     return arrayWeek; 
    } 
+0

Pouvez-vous ajouter quelques explications à votre réponse? Seul le code affiché peut prêter à confusion. –

Questions connexes