我需要显示给定日期(如“05/23/2014”)的日期名称,这是我从第 3 方获得的。
我试过使用Date
,但我只得到日期。
获取当天名称的正确方法是什么?
我需要显示给定日期(如“05/23/2014”)的日期名称,这是我从第 3 方获得的。
我试过使用Date
,但我只得到日期。
获取当天名称的正确方法是什么?
嗯,三年后……
为什么没有人使用标准 javascript Date 类提供的方法(除了 Callum Linington)?
从日期获取日期名称:
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.
获取数组中的所有工作日:
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”作为语言环境。
您可以使用该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 个字母的日期名称。
使用 Date.toLocaleString() 方法:
new Date(dateString).toLocaleString('en-us', {weekday:'long'})
let weekday = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'][new Date().getDay()]
var days = [
"Sunday",
"Monday",
"...", //etc
"Saturday"
];
console.log(days[new Date().getDay()]);
简单,阅读JavaScript手册中的Date对象
要使用日期执行其他操作,例如从中获取可读字符串,我使用:
var d = new Date();
d.toLocaleString();
如果您只想要时间或日期,请使用:
d.toLocaleTimeString();
d.toLocaleDateString();
您可以通过执行以下操作来解析日期:
var d = new Date(dateToParse);
或者
var d = Date.parse(dateToParse);