日期:getDate()来自ISO 8601日期实例的错误值

时间:2016-07-13 01:49:40

标签: javascript date

我有一个数据库,通过AJAX为客户端提供一个格式为ISO 8614的日期,解析日期实例的date.getDate()格式应该很容易,但出于某种原因function getFullDate(ISO){ // ISO = var date = new Date(ISO); return [ date.getFullYear(), date.getMonth() < 10 ? "0" + date.getMonth() : date.getMonth(), date.getDate() < 10 ? "0" + (date.getDate() + 1) : (date.getDate() + 1) //Get date returns 1 day early so raise by 1 ].join("-"); } console.log(getFullDate("2016-07-19T00:00:00.000Z")); // 2016-07-19 在提供的那天提前一天返回,我不知道为什么会这样,所以现在我只是调用date方法将函数值提高1。

代码很简单:

ISO 8601

代码没有任何问题,我只是想知道为什么会发生这种情况,因为现在我只看到它只发生在{{1}}格式

1 个答案:

答案 0 :(得分:1)

您有一个UTC时间的日期,但使用的方法将显示在您的机器设置的任何时区。

查看日期docs并使用以getUTC...开头的方法,例如getUTCFullYear()