我有这样的约会
2017年6月23日 我想要的输出是
2017年6月23日星期五
v.npi.appointment_dates[j] = date.toLocaleString('en-US', {year: 'numeric', month: 'long', day: 'numeric' });
但由于这一天:'数字'我错过了一天的名字。它几乎耗费了3个小时。任何人都可以帮助我。谢谢。
答案 0 :(得分:3)
您需要在选项对象中包含weekday: 'long'
:
var date = new Date();
console.log(date.toLocaleString('en-US', {
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric'
}));
如果您要采用浏览器默认语言,请使用 undefined :
var date = new Date();
console.log(date.toLocaleString(undefined, {
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric'
}));
即使支持 options , toLocaleString 的结果仍然依赖于实现,因为“locale”选项实际上是一种语言代码,可能不是用户期望的那样即使他们说这种语言,浏览器开发人员也可能没有选择预期的格式。
答案 1 :(得分:0)
以下是您正在寻找的功能。
function getFormattedDate(date) {
var dayNames = ['Monday', 'Thursday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
var monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
var dayOfMonth = date.getDate()
var dayOfWeekIndex = date.getDay()
var monthIndex = date.getMonth()
var year = date.getFullYear()
return dayNames[dayOfWeekIndex] + ' ' + monthNames[monthIndex] + ' ' + dayOfMonth + ' ' + year;
}
你应该看一下moment.js,它可以帮助你很多格式化和大量的其他日期问题。