2016-08-30 84 views
0

目前,我正在使用JavaScript Rest API对SharePoint进行其余的调用。我得到一个修改日期,其格式如下"2016-08-27T17:40:09Z",从我一直在阅读这是许多开发人员有问题的问题。以另一种格式格式化Date.parse(dateString)中的日期

所以我决定继续使用Date.parse(dateString)方法来转换奇怪的日期格式,现在我得到了Sat Aug 27 2016 13:40:09 GMT-0400 (Eastern Daylight Time)

现在这是可以理解的东西,但我不寻找这个,我正在寻找以下格式Month\Date\Year Hour:Minute。我一直在阅读文档,但我还没有发现任何东西。

+1

使用[moment.js(http://momentjs.com/) –

+0

这个问题似乎问相当规则:https://stackoverflow.com/questions/8362952/javascript日期输出格式化 https://stackoverflow.com/questions/3066586/get-string-in-yyyymmdd-format-from-js-date-object –

+0

使用反斜线日期分隔符是不常见的,更常见的是正斜杠:m/d/y。 – RobG

回答

1

var d = new Date('2016-08-27T17:40:09Z'), 
 
    dFormatted = [d.getMonth() + 1, d.getDate(), d.getFullYear()].join('\\') + ' ' + [d.getHours(), d.getMinutes()].join(':'); 
 

 
console.log(dFormatted);

+0

你是对的,所以你的答案被纠正,但我用另一种方法去了。 – EasyE

0

如果你的格式是非常独特的,那么你需要使自己的格式化程序:

function toMyFormat(time) { 
 
    var d = new Date(time); 
 
    return d.getMonth() + '\\' + d.getDate() + '\\' + d.getFullYear() + ' ' + d.getHours() + ':' + d.getMinutes(); 
 
} 
 
console.log(toMyFormat('2016-08-27T17:40:09Z'));

您可能不过是幸运地找到一个适合你的localeString format

var d = new Date('2016-08-27T17:40:09Z'); 
 

 
console.log(d.toLocaleString('en-US')); 
 
console.log(d.toLocaleString('da-DK')); 
 
console.log(d.toLocaleString('de-GE'));

+0

非常感谢你我很幸运,非常感激。 – EasyE

+1

@EasyE'd.getMonth()'返回月份(从0-11),所以这个答案是错误的。检查我的解决方案 –

+2

* toLocaleString *是依赖于实现的,因此将在不同的浏览器中返回不同的结果“en-US”不是“语言环境”,它是一种语言)。以上内容取决于对ECMA-402国际化API的支持,所有正在使用的浏览器都不支持。 – RobG