微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在javascript中将UTC字符串转换为时代时间

如何解决在javascript中将UTC字符串转换为时代时间

| 如何在javascript中将UTC日期时间字符串(例如
2011-03-29 17:06:21 UTC
)转换为纪元(毫秒)? 如果不可能,是否有任何方法可以比较(如<,>)UTC日期时间字符串?     

解决方法

请注意,UTC日期字符串可以像字符串一样按字典顺序进行比较,因为高阶值出现在字符串的最左侧。
var s1 = \'2011-03-29 17:06:21 UTC\',s2 = \'2001-09-09 01:46:40 UTC\';
s1 > s2; // => true
s2 > s1; // => false
您可以从示例字符串中提取日期字段,并使用
Date.UTC
方法返回毫秒数:
var getEpochMillis = function(dateStr) {
  var r = /^\\s*(\\d{4})-(\\d\\d)-(\\d\\d)\\s+(\\d\\d):(\\d\\d):(\\d\\d)\\s+UTC\\s*$/,m = (\"\"+dateStr).match(r);
  return (m) ? Date.UTC(m[1],m[2]-1,m[3],m[4],m[5],m[6]) : undefined;
};
getEpochMillis(\'2011-03-29 17:06:21 UTC\'); // => 1301418381000
getEpochMillis(\'2001-09-09 01:46:40 UTC\'); // => 1000000000000
    ,使用datejs将帮助您将UTC字符串转换为Date对象。之后,只需在date对象上调用.getTime()以获取毫秒数即可。     ,这是怎么做的。没话说Date.UTC接受UTC时间戳并返回纪元
var epoch_date = Date.UTC(year,mon,day,hours,min,sec,milisec);
    ,您可以这样使用
getDateFromFormat(dateValue,dateFormat)
(在此处可用):
getDateFromFormat(\"2011-03-29 17:06:21\",\"yyyy-MM-dd HH:mm:ss\")
它返回以毫秒为单位的纪元时间。     ,只要datetime字符串像ISO8601-ish格式那样明确(即不是MM / DD / YYYY与DD / MM / YYYY),就可以使用Date构造函数对其进行解析,然后使用Math.floor:
Math.floor(new Date(\'2011-03-29 17:06:21 UTC\') / 1000); // => 1301418381
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?