我正在尝试从我的 javascript 客户端向休息服务发送 UTC 时间戳。我无法像"2013-08-30T19:52:28.226Z"
使用 javascript 一样创建时间戳。
var rawDate = date.getUTCDate().toString();
我看到了这个例子,但对我没有帮助。utc-time-same-javascript
我正在尝试从我的 javascript 客户端向休息服务发送 UTC 时间戳。我无法像"2013-08-30T19:52:28.226Z"
使用 javascript 一样创建时间戳。
var rawDate = date.getUTCDate().toString();
我看到了这个例子,但对我没有帮助。utc-time-same-javascript
1) 获取日期。
var now = new Date();
2) 转换为 UTC 格式,如下图,供参考。
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
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';
}
未测试:
这个库可以为你做。也没有那么大http://momentjs.com
moment().toISOString()
// 2013-02-04T22:44:30.652Z
我建议扩展 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';
};
看更多:
/edit:没有人问需要支持哪些浏览器(咳嗽,IE)。