2014-10-01 41 views
0

我有一个日期,我想将其转换为字符串,但没有时间,只是日期部分。如何在没有时间的情况下使用toLocaleTimeString格式化日期

我当前的代码:

var date = new Date(2014, 9, 08); //Wed Oct 08 2014 00:00:00 GMT-0500 (Central Daylight Time) 
var options = {weekday: "long", year: "numeric", month: "long", day: "numeric"}; 

console.log(date.toLocaleTimeString("en-US", options)); 
// output: Wednesday, October 8, 2014 12:00:00 AM 
// what I'm looking for: Wednesday, October 8, 2014 

如何修改的选项不显示时间?

+0

也可以使用toDateString() – SoluableNonagon 2014-10-01 16:55:04

回答

2

中庸之道使用toLocaleDateString,而不是toLocaleTimeString,你应该得到的结果你期待:

var date = new Date('2014', '9', '08'); //Wed Oct 08 2014 00:00:00 GMT-0500 (Central Daylight Time) 
var options = {weekday: "long", year: "numeric", month: "long", day: "numeric"}; 
console.log(date.toLocaleDateString("en-US", options)); 

回报:"Wednesday, October 8, 2014"

我也将第二上述海报和推荐使用moment.js;它重量轻,非常灵活。

0

如果您对允许浏览器确定显示格式感到满意,则可以使用Date对象的toDateStringtoLocaleDateString函数。你在不同的浏览器上得到不同的结果。

否则,请考虑使用库如moment.js,以便您可以根据自己的喜好控制格式。例如:

moment([2014,9,8]).format('dddd, MMMM Do, YYYY') // "Wednesday, October 8, 2014" 
相关问题