如何使用JavaScript

问题描述:

道歉,如果复制如何使用JavaScript

我在Mon May 29 2017 12:36:49 GMT+0000的日期,我想将其转换成2017-05-01T19:04:18Z更改日期格式我怎样才能做到这一点使用JavaScript。

这里是我的代码

var targetDate = new Date(); 
targetDate.setDate(targetDate.getDate() - 5); 
console.log("targetDate is "+targetDate); 

我得到的输出喜欢targetDate is Mon May 29 2017 12:36:49 GMT+0000 但我想它在2017-05-01T19:04:18Z格式

任何帮助表示赞赏, 在此先感谢

+0

看一看.toLocaleString和[javascript日期输出格式(HTTPS的Date.prototype –

+0

可能的复制的其他方法://计算器。 COM /问题/ 8362952/JavaScript的日期输出格式)。只是为了说清楚:** JS只输出完整字符串格式的日期**。下次谷歌。 – kabanus

+1

有[*许多相似的问题*](https://stackoverflow.com/search?q=%5Bjavascript%5D+change+date+format),最简单的解决方案是解析为日期并使用[* toISOString * ](http://ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.toisostring)。有关解析,请参见[* fecha.js *](https://github.com/taylorhakes/fecha)或[* moment.js *](https://momentjs.com)。 – RobG

这是不是最好的练习,但仍然把它放在这里供您参考:

Date.prototype.toString = function() { 
    return `${this.getFullYear()}-${this.getMonth() + 1}-${this.getDate()}T${this.getHours()}:${this.getMinutes()}:${this.getSeconds()}`; 
} 

d = new Date() 
2017-6-3T18:39:34 

function addZero(i) { 
    if (i < 10) { 
     i = "0" + i; 
    } 
    return i; 
} 

var targetDate = new Date(); 
targetDate.setDate(targetDate.getDate() - 5); 
var newTime = targetDate.getFullYear()+"-"+addZero(targetDate.getMonth())+"-"+addZero(targetDate.getDate())+" "+addZero(targetDate.getHours())+":"+addZero(targetDate.getMinutes())+":"+addZero(targetDate.getSeconds()); 
alert(newTime); 

你在寻找JSON编码日期吗?

您可以分析与JSON序列:

console.log("targetDate is "+ JSON.stringify(targetDate));