我有一个数据库,通过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}}格式
答案 0 :(得分:1)
您有一个UTC时间的日期,但使用的方法将显示在您的机器设置的任何时区。
查看日期docs并使用以getUTC...
开头的方法,例如getUTCFullYear()