2014-03-26 61 views
-1

我有一個日期字符串CStartDate爲「2014年3月23日」,我從的Siebel side.I越來越需要將其轉換到timeoffset成爲zero.I UTC時區已經嘗試這樣的事情:如何使用Javascript將日期字符串轉換爲UTC日期?

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); 

此警報返回爲'Sun Mar 23 2014 00:00:00 GMT + 0530(印度標準時間)',但我不希望抵消GMT + 0530(印度標準時間),而是我希望它只是'Sun Mar 23 2014 00:00:00 GMT + 0000'.I希望這是一個日期對象,它將顯示GMT的日期,而不是任何其他位置。我怎樣才能做到這一點?

在此先感謝。

+1

我會爲此推薦[moment.js](http://momentjs.com/)。讓生活變得更加簡單。 – Liam

回答

1

嘗試使用Date對象上的toISOString()。如果使用少於ECMAScript 5,則存在函數的填充

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'; 
    }; 

    }()); 
} 
0

有一個UTC方法的Date。它應該如此簡單:

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

嗨藍我試過了,它返回'Sun 3月23 2014 05:30:00 GMT + 0530(印度標準時間)'。但是我的擔憂是無論如何產生了我不想要的當地時間。我想要一個可以給我日期的對象,讓我說如果我住在格林尼治標準時間,那麼它會產生類似'Sun Mar 23 2014 00:00:00 GMT + 0000(GMT)'的信息。我想要這個時間對象。要求我不能改變日期的位置,所以如果我使用上面的方法,它會產生本地時間不是格林威治標準時間。我可以如何實現這一目標? – Chiranjit

+0

看看[在JavaScript中將日期轉換爲另一個時區]的答案(http://stackoverflow.com/questions/10087819/convert-date-to-another-timezone-in-javascript) – blue

相關問題