JS中日期的日期名称

我需要显示一个日期的名称(如“05/23/2014”),这是我从第三方获得的。

我尝试过使用Date ,但我只得到了日期。

获取当天名称的正确方法是什么?

您可以使用Date.getDay()方法,该方法在星期日返回0,在星期六返回6。 因此,您可以简单地创建一个具有日期名称名称的数组:

 var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; var d = new Date(dateString); var dayName = days[d.getDay()]; 

这里dateString是您从第三方API收到的字符串。

或者,如果您想要日期名称的前3个字母,则可以使用Date对象的内置toString方法:

 var d = new Date(dateString); var dayName = d.toString().split(' ')[0]; 

这将取d.toString()输出中的第一个单词,它将是3个字母的日期名称。

Ahum,三年后……

为什么没有人使用标准javascript Date类提供的方法(Callum Linington除外)?

请参阅https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString

从日期获取日期名称

 function getDayName(dateStr, locale) { var date = new Date(dateStr); return date.toLocaleDateString(locale, { weekday: 'long' }); } var dateStr = '05/23/2014'; var day = getDayName(dateStr, "nl-NL"); // Gives back 'Vrijdag' which is Dutch for Friday. 

在arrays中获取所有工作日:

 function getWeekDays(locale) { var baseDate = new Date(Date.UTC(2017, 0, 2)); // just a Monday var weekDays = []; for(i = 0; i < 7; i++) { weekDays.push(baseDate.toLocaleDateString(locale, { weekday: 'long' })); baseDate.setDate(baseDate.getDate() + 1); } return weekDays; } var weekDays = getWeekDays('nl-NL'); // Gives back { 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag'} which are the days of the week in Dutch. 

对于美国日期,请使用“en-US”作为区域设置。

 let weekday = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'][new Date(dt).getDay())] 
 var days = [ "Sunday", "Monday", "...", //etc "Saturday" ]; console.log(days[Date.now().getDay()]); 

很简单,请阅读JavaScript手册中的Date对象

要使用日期做其他事情,比如从中获取可读字符串,我使用:

 var d = new Date(); d.toLocaleString(); 

如果您只想要时间或日期使用:

 d.toLocaleTimeString(); d.toLocaleDateString(); 

您可以通过执行以下操作来解析日期:

 var d = new Date(dateToParse); 

要么

 var d = Date.parse(dateToParse); 

你可以使用一个对象

 var days = { 'Mon': 'Monday', 'etc..': 'etc..', 'Fri': 'Friday' } var date = new Date().toString().split(' ')[0]; //get day abreviation first console.log(days[date]); 

不是最好的方法,而是使用数组。 这只是一种替代方法。

http://www.w3schools.com/jsref/jsref_getday.asp

 var date = new Date(); var day = date.getDay(); 

在发布此处之前,您应该真正使用谷歌。

由于其他人发布了数组方法,我将向您展示使用switch语句的替代方法。

 switch(day) { case 0: day = "Sunday"; break; case 1: day = "Monday"; break; ... rest of cases default: // do something break; } 

然而,上面的工作,arrays是更好的选择。 您也可以使用if()语句,但是switch语句会比几个if语句更清晰。

 var day ; switch(new Date().getDay()){ case 0: day="Sunday"; break; case 1: day="Monday"; break; case 2: day="Tuesday"; break; case 3: day="wednesday"; break; case 4: day ="Thurs day" break; case 5: day ="friday"; break; case 6: day ="Satureday"; break; } document.write(day);