如何充分利用一周中的某几天?
这是我的代码:
var date = new Date();
var n = date.toDateString();
我希望的输出显示Wednesday, May 22 2019
但显示:Wed May 22 2019
答案 0 :(得分:1)
class Foo {
getFormattedDate() {
const date = new Date();
const dateFormatOptions = {
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric'
};
return date.toLocaleDateString('en-GB', dateFormatOptions);
}
}
const foo = new Foo();
console.log(foo.getFormattedDate())
这是您可以做的事情。此解决方案的优点是,您可以轻松添加支持的不同语言环境。
答案 1 :(得分:1)
JavaScript中的默认Date
对象对toLocaleDateString()
方法中的格式设置的支持有限:Date.prototype.toLocaleDateString() - JavaScript | MDN
有一些限制(例如,某些移动浏览器不支持所有功能),但是值得一看的是在重新发明轮子之前,看看是否有可以使用的功能。
例如,以下代码将使您非常接近所要查找的格式(日期和年份值之间只是一个逗号):
var today = new Date();
var formatOptions = {weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
console.log(today.toLocaleDateString('en-US', formatOptions));
答案 2 :(得分:0)
如果您不喜欢缩写,则必须根据Date对象提供的信息构造自己的字符串。 不幸的是,它只返回星期几的0-6和一个月的0-11的整数-因此您必须设置一个具有匹配名称的数组。
这是一个例子:
var now = new Date();
var days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
var months = ["January", "February", "March", "April", "May", "June", "July", "October", "November", "December"];
console.log(days[now.getDay()] + ", " + months[now.getMonth()] + " " + now.getDate() + " " + now.getFullYear());
答案 3 :(得分:0)
在javascript Date
对象中,您只能使用getDay()
方法获得表示特定日期的整数值。您可以通过在Date.prototype
上创建自定义方法来扩展Date.prototype
,如下所示:
Date.prototype.getFullDayName = function(){
var days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
var fullDay = this.toDateString().replace(/.+?\s/,days[this.getDay()]+" ")
return fullDay
}
上面的方法将为您提供日期对象的全日名称,然后像
那样命名 date.getFullDayName()
// "Thursday May 23 2019"
答案 4 :(得分:0)
您可以使用moment.js
库来实现此日期格式。
此代码段将以您请求的格式(如果您已下载并导入moment.js
)将日期打印到控制台。
dddd
代表星期几全名
const start = moment('2016-02-27');
console.log(start.format('dddd YYYY MM DD'));
> Output : "Saturday 2016 02 27"