在javascript中将日期转换为不同的格式

时间:2015-02-12 13:31:13

标签: javascript jquery

如何以此格式转换日期'星期六2015年2月14日00:00:00 GMT + 0100(ora solare Europa occidentale)'以这种格式约会的日期' 2015-02-05T10:17:13'使用javascript?

4 个答案:

答案 0 :(得分:1)

您想要的日期基本上是ISO-8601标准。

var date = new Date('Sat Feb 14 2015 00:00:00 GMT+0100');
var iso8601 = date.toISOString();
console.log(iso8601); // 2015-02-13T23:00:00.000Z

此转换基于ECMAScript 5(ECMA-262第5版),因此在旧版本的JS中不可用。其他答案是正确的时刻js将显着改善您的日期转换。

礼貌MDN Pagethis stack overflow question。如果您希望支持EC5之前,您可以使用polyfill:

if ( !Date.prototype.toISOString ) {
( function() {

  function pad(number) {
    var r = String(number);
    if ( r.length === 1 ) {
      r = '0' + r;
    }
    return r;
  }

  Date.prototype.toISOString = function() {
    return this.getUTCFullYear()
      + '-' + pad( this.getUTCMonth() + 1 )
      + '-' + pad( this.getUTCDate() )
      + 'T' + pad( this.getUTCHours() )
      + ':' + pad( this.getUTCMinutes() )
      + ':' + pad( this.getUTCSeconds() )
      + '.' + String( (this.getUTCMilliseconds()/1000).toFixed(3) ).slice( 2, 5 )
      + 'Z';
  };

}() );
}

答案 1 :(得分:1)

有一个名为moment.js的图书馆。有了它,您可以解析许多具有代表性的格式的日期时间字符串,并以您喜欢的任何日期时间格式将它们转换回来。

答案 2 :(得分:0)

答案 3 :(得分:0)

使用Date.parse()Date.toISOString()

var input = "Sat, Feb 14 2015 00:00:00 GMT+0100"
input = Date.parse(input);
input = new Date(input);
input = input.toISOString(); // "2015-02-13T23:00:00.000Z"