我想發送UTC時間戳從我的JavaScript客戶端休息服務。我無法使用javascript創建類似"2013-08-30T19:52:28.226Z"
的時間戳。在JavaScript中創建UTC時間戳
var rawDate = date.getUTCDate().toString();
我看到這個例子,但對我沒有幫助。 utc-time-stame-javascript
我想發送UTC時間戳從我的JavaScript客戶端休息服務。我無法使用javascript創建類似"2013-08-30T19:52:28.226Z"
的時間戳。在JavaScript中創建UTC時間戳
var rawDate = date.getUTCDate().toString();
我看到這個例子,但對我沒有幫助。 utc-time-stame-javascript
看到我的願望結果2013-08-31T9:9:55.893Z –
呵呵。 W3學校鏈接?這裏有一個更好的資源來討論函數:[MDN Date#toJSON](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toJSON?redirectlocale=en-US&redirectslug=JavaScript %2FReference%2FGlobal_Objects%2FDate%2FtoJSON) –
W3學校的問題是什麼? –
1)獲取的日期。
var now = new Date();
2)轉換爲UTC格式,如下所示,對於reference。
var now_utc = new Date(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(),
now.getUTCHours(), now.getUTCMinutes(), now.getUTCSeconds());
3)使用toJSON,獲取格式。
now_utc.toJSON()
最後,
var now = new Date();
var now_utc = new Date(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(), now.getUTCHours(), now.getUTCMinutes(), now.getUTCSeconds());
alert(now_utc.toJSON());
入住這JSFiddle
Not utc time .. 2013-08-31T03:44:49.000Z –
function getUTCISODateString(d){
function pad(n){return n<10 ? '0'+n : n};
function threePad(n){return n<10 ? '00'+n : (n < 100 ? '0' + n : n)};
return d.getUTCFullYear()+'-'
+ pad(d.getUTCMonth()+1)+'-'
+ pad(d.getUTCDate())+'T'
+ pad(d.getUTCHours())+':'
+ pad(d.getUTCMinutes())+':'
+ pad(d.getUTCSeconds())+ '.'
+ threePad(d.getUTCSeconds()) + 'Z';
}
未測試:
'new Date()。toJSON()' –
@izuriel yes ofcourse if ie7 not targeted。 – sabithpocker
如果IE7擔心支持,那麼我會引入一個類似[json2]的庫(https://github.com/douglascrockford/JSON-js)來將該功能填充到Date以及JSON.stringify '和'JSON.parse'。 –
這個庫可以爲你做。沒那麼大或者http://momentjs.com
moment().toISOString()
// 2013-02-04T22:44:30.652Z
格式已關閉。他的要求要求在時區之前附加毫秒。 –
@izuriel更新了答案,圖書館做了任何格式 –
除非需要做更多的日期處理,否則在這裏加入「時間」(雖然是一個好的圖書館)是不必要的。正如Benoit Blanchon所回答的那樣,這可以通過'new Date()。toJSON()'本地實現,但使用JSON.stringify({post_date:new Date()});更簡單 - 在這種情況下它會自動調用。我應該早些時候提到這一點,但在更新中很好! –
我會建議延長日期()對象,並建立自己的字符串,那一刻它會爲你,但我不知道它在您需要的確切格式。剛寫了這個很快,但它應該是一個體面的起動鍋爐板。
Date.prototype.toLongUTCString = function() {
var self = this;
return self.getUTCFullYear() + '-' + (self.getUTCMonth() < 10 ? '0' : '') +
(self.getUTCMonth() +1)+ '-' + (self.getUTCDate() < 10 ? '0' : '') +
self.getUTCDate() + 'T' + self.getUTCHours() + ':' + self.getUTCMinutes() +
':' + self.getUTCSeconds() + '.' + self.getUTCMilliseconds() + 'Z';
};
查看更多:
/編輯:沒有人費心去問問瀏覽器需要哪些支持(咳嗽,IE)。
這個功能可以添加到'Date'類以及完整的'JSON'解析/字符串構建與[json2]( https://github.com/douglascrockford/JSON-js)庫。順便說一句,通用的經驗法則是儘可能避免擴展核心類。 –
@izuriel - 這取決於你在擴展什麼 - 例如這個函數永遠不會在覈心規範中實現(不同於map/filter/reduce可能會在未來某個時候在IE中實現)。至於json2 lib - 你並不總是需要一把電鋸來削減分支。乾杯! – konp
你是不是指'new Date()'?它返回(完整)當前日期,與Date對象的所有屬性,在你的情況'(新Date())。toJSON()'應該工作 –
因爲我的問題我想2013-08-31T9:4:51.859 Z in js –
new Date()。toJSON()return 2013-08-31T09:04:51.863Z –