如何使用toLocaleTimeString无需时间格式化日期

时间:2014-10-01 16:48:58

标签: javascript date

我有一个日期,我想将其转换为字符串,但没有时间,只是日期部分。

我目前的代码:

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

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

2 个答案:

答案 0 :(得分:3)

Juste使用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;它重量轻,非常灵活。

答案 1 :(得分:0)

如果您对允许浏览器确定显示格式感到满意,则可以使用toDateString对象的toLocaleDateStringDate功能。您在不同的浏览器上获得不同的结果。

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

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