我想发送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 –