我想以UTC格式获取当前日期。到目前为止,我能够做到这一点,但我坚持的是,它检查当前的系统日期'并返回结果。我不希望发生这种情况,因为我需要专门用UTC格式而不是获取系统日期。
另外,我输出结果的格式是我想要的格式而没有变化。任何建议都会有很大的帮助。
这是我的代码:
var now = new Date();
var currentDate;
var date = (new Date(now) + '').split(' ');
date[0] = date[0] + ',';
date[2] = date[2] + ',';
currentDate = [date[0], date[1], date[2], date[3]].join(' ');
return currentDate;
返回2016年4月26日星期三。如果此代码在其他地方运行,时间差为+ -12,则日期将是UTC中我不想要的系统日期。
答案 0 :(得分:2)
在浏览器中保持格式一致的唯一方法是使用Date#getUTC*
函数构建一个小实用程序函数,或者使用为您执行此操作的库。我会和前者一起去。你可以使用这样的东西:
function getUTCDateString(){
var d = new Date();
var days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
var month = ['Jan', 'Feb', 'Mar', 'April', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
return (
days[d.getUTCDay()-1]
+ ', ' + month[d.getUTCMonth()]
+ d.getUTCDate()
+ ', ' + d.getUTCFullYear()
);
}
如果你做任何本地化编程,事情的复杂性会迅速增加,并且引入一些提到的库更有意义。
答案 1 :(得分:1)
如果您需要保留上述输出,请查看:
var dateString = new Date().toUTCString().split(' ');
return dateString[0] + " " + dateString[2] + dateString[1] + ", " + dateString[3];
日期here还有一些其他有用的UTC方法。
答案 2 :(得分:0)
你看过momentjs吗?它是一个日期对象包装器,可以轻松操作日期。只需使用提供的utc()函数即可。 http://momentjs.com/docs/#/manipulating/utc/
在通过npm安装片刻之后,下面是示例代码:
var moment = require("moment");
var utcNow = moment().utc();
console.log(utcNow);
这将输出当前的utc日期
答案 3 :(得分:0)
我建议在日期实例上调用<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="use_sql_comments">true</property>
方法。这是代码
toISOString()
所以你在这里有通用时间