2009-07-23 26 views
21

是否有一種方法使用JavaScript或jQuery來確定星期幾是哪一天?例如,如果用戶在框中選擇的日期是星期天,我可以提醒他們。使用jQuery/JS來確定星期幾

感謝

回答

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

參見:Javascript Date Object上MDN。

注意事項:這會返回瀏覽器上的星期幾。由於地球不平坦,某些用戶的一週中的某一天可能與您服務器的星期幾不同。這可能會或可能不會與您的項目......

如果你是做了很多工作,約會,你可能想看看最新的JavaScript庫,例如DatejsMoment.js

+1

非常感謝你! :) – Jason 2009-07-23 20:38:18

+0

MDN上的「Javascript Date Object」頁面包含瀏覽器支持(在這種情況下非常好)。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date – 2013-12-30 07:02:37

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

...會給你一個「今天」的數字表示。

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

哪一個是星期日? :) – Jason 2009-07-23 20:37:22

+0

零星期日:)因爲它是來自美國的語言。在歐洲,星期一爲零的情況會更有意義,但這不是這種情況。 – 2009-08-04 10:16:43

19

如果你只在你的頁面需要這一次,保持它的簡單...

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

我不認爲這是什麼大不了的延長,但因爲我有3票贊成國際化在評論...

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

最後,代碼高爾夫版本...

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

更明確的一個nd更詳細的回答:

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

工作fiddle

0

發送日期,您將獲得當月的同一天的位置。即15/02/2018是第三個星期四。

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