我正在尝试从我的javascript客户端发送UTC时间戳到休息服务。我无法使用javascript创建像"2013-08-30T19:52:28.226Z"
这样的时间戳。
var rawDate = date.getUTCDate().toString();
我看到这个例子,但对我没有帮助。 utc-time-stame-javascript
答案 0 :(得分:12)
答案 1 :(得分:1)
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';
}
未经测试:
答案 2 :(得分:0)
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
答案 3 :(得分:0)
这个库可以帮到你。不是那么大http://momentjs.com
moment().toISOString()
// 2013-02-04T22:44:30.652Z
答案 4 :(得分:0)
我建议扩展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)。