2009-07-23 12 views

risposta

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

Vedi anche: Javascript Date Object su MDN.

Word of Caution: Restituisce il giorno della settimana sul browser. Poiché la terra non è piatta, il giorno della settimana per alcuni utenti potrebbe essere diverso dal giorno della settimana per il tuo server. Questo può o non può essere rilevanti per il vostro progetto ...

Se stai facendo un sacco di lavoro data, si consiglia di guardare in data JavaScript librerie come Datejs o Moment.js

+1

grazie mille! :) – Jason

+0

La pagina "JavaScript Date Object" su MDN include il supporto del browser (che in questo caso è eccellente). https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date –

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

... otterrà una rappresentazione numerica di "oggi".

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

quale è la domenica? :) – Jason

+0

Zero è domenica :) Perché è una lingua dagli Stati Uniti. In Europa avrebbe più senso avere lunedì come zero, ma non è questo il caso. –

2

Se avete bisogno di molta gestione della data, date un'occhiata a DateJS.

19

Se avete solo bisogno di una volta nella tua pagina, mantenere le cose semplici ...

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

non pensavo che sarebbe stato un grosso problema per estendere, ma dal momento che ho 3 voti per l'internazionalizzazione nei commenti ...

// 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 

E, infine, la versione del codice di golf ...

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

Questa stessa stringa può essere inserita in un modello di sottolineatura, senza la nuova parte di Date(), per formattare convenientemente gli oggetti Data. _.template ( '<% = getMonth() + 1%>. <% = getDate()%>. <% = getFullYear()%><% = ["Sunday", "Monday", "Tuesday", "Mercoledì", "Giovedi", "Venerdì", "Sabato"] [getDay()]%> ', someDateObject ) – grantwparks

+0

bello! grazie per aver contribuito –

+1

'[" Sole "," Mon "," Mar "," Wednes "," Gio "," Ven "," Satur "] [(nuova Data()). GetDay()] +" giorno "' Dal 7 punture terminano con le stesse 3 lettere, è possibile estrarle piuttosto che ripetendole. –

6

una più chiara una Risposta più dettagliata:

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]); 

Lavoro fiddle.

0

data di invio e si otterrà la posizione dello stesso giorno di quel mese. cioè il 15/02/2018 è il terzo giovedì.

/*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

Puoi aggiungere qualche spiegazione alla tua risposta? Solo la visualizzazione del codice può essere fonte di confusione. –

Problemi correlati