如何使用Javascript将日期字符串转换为UTC日期?

时间:2014-03-26 09:19:10

标签: javascript date

我有一个日期字符串CStartDate作为' 3/23/2014'我从siebel那边得到了。我需要将它转换为UTC时区,其中timeoffset变为零。我尝试过这样的事情:

var a = CStartDate.split('/');

var c = a[0];
a[0] = a[1];
a[1] = c; 

var tacStartDate = new Date(a[2],parseInt(a[1], 10) - 1,a[0]);
alert(tacStartDate);

此警报将于2014年3月23日星期日00:00:00 GMT + 0530(印度标准时间)'返回,但我不希望偏移GMT + 0530(印度标准时间) ),而我希望它只是“2014年3月23日00:00:00 GMT + 0000'。我希望这是一个日期对象,它将指示GMT的日期,而不是任何其他位置。我怎样才能做到这一点?

提前致谢。

2 个答案:

答案 0 :(得分:1)

在Date对象上尝试toISOString()。如果使用少于ECMAScript 5,则函数

有一个polyfill
if ( !Date.prototype.toISOString ) {
  ( function() {

    function pad(number) {
      if ( number < 10 ) {
        return '0' + number;
      }
      return number;
    }

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

  }() );
}

答案 1 :(得分:0)

有一种日期的UTC方法。它应该简单:

new Date(Date.UTC(a[2],parseInt(a[1], 10) - 1,a[0]));