在Javascript中创建UTC时间戳

时间:2013-08-31 08:54:40

标签: javascript

我正在尝试从我的javascript客户端发送UTC时间戳到休息服务。我无法使用javascript创建像"2013-08-30T19:52:28.226Z"这样的时间戳。

var rawDate = date.getUTCDate().toString();

我看到这个例子,但对我没有帮助。 utc-time-stame-javascript

5 个答案:

答案 0 :(得分:12)

您可以使用date.toJSON()

new Date().toJSON()
"2013-08-31T09:05:07.740Z"

请参阅MDNMSDN

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

查看更多:

http://jsfiddle.net/4Kczy/

/编辑:没有人费心去问什么浏览器需要支持(咳嗽,IE)。