Javascript - 从unixtime格式化日期到yyyy-mm-dd

时间:2014-07-21 21:36:47

标签: javascript angularjs date datetime

我需要一些帮助才能将unixtime转换为特定格式。以下是我目前正在使用的内容:

var date = "2014-05-01";
var indexPie = Date.parse(date);

我需要yyyy-mm-dd格式的indexPie。我不明白的是当日志

var newDate = new Date(indexPie);

结果是:

Wed Apr 30 2014 18:00:00 GMT-0600 (Mountain Daylight Time)

应该是:

Thur May 01 2014 18:00:00 GMT-0600 (Mountain Daylight Time)

为什么新的Date(indexPie)会在4月30日生成,如何获得正确格式的yyyy-mm-dd?

任何建议都会很棒。感谢。

2 个答案:

答案 0 :(得分:2)

我通过以下方式解决了这个问题:

var date = new Date(indexPie);
var year = date.getUTCFullYear();
var month = date.getUTCMonth() + 1;
var day = date.getUTCDate();
var dateString = year + "-" + month + "-" + day;

答案 1 :(得分:0)

您期望date变量:"2014-05-01"中的值将按本地时区进行解析,但实际上它会以UTC格式进行解析。

您可以将日期从UTC转换为本地时区,如下所示:

var newDate = new Date(indexPie + new Date().getTimezoneOffset() * 60000);