我该如何在javascript中将UTC日期时间字符串(例如2011-03-29 17:06:21 UTC
)转换为Epoch格式(毫秒)?
如果无法实现,请问有没有办法比较(像<,>)UTC日期时间字符串?
我该如何在javascript中将UTC日期时间字符串(例如2011-03-29 17:06:21 UTC
)转换为Epoch格式(毫秒)?
如果无法实现,请问有没有办法比较(像<,>)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
这是如何做到的。毫不含糊。Date.UTC接受一个UTC时间戳并返回纪元。
var epoch_date = Date.UTC(year,mon,day,hours,min,sec,milisec);
使用datejs可以帮助您将UTC字符串转换为日期对象。之后只需在日期对象上调用.getTime()即可获得毫秒数。
Math.floor(new Date('2011-03-29 17:06:21 UTC') / 1000); // => 1301418381
getDateFromFormat(dateValue, dateFormat)
(此处提供链接):getDateFromFormat("2011-03-29 17:06:21","yyyy-MM-dd HH:mm:ss")