2009-07-23 79 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; 
    }