Note that UTC date strings can be compared lexicographically, like strings, since the higher order values appear leftmost in the string.
var s1 = '2011-03-29 17:06:21 UTC'
, s2 = '2001-09-09 01:46:40 UTC';
s1 > s2; // => true
s2 > s1; // => false
You can extract the date fields from your example string and return the number of milliseconds by using the Date.UTC
method:
var getEpochMillis = function(dateStr) {
var r = /^s*(d{4})-(dd)-(dd)s+(dd):(dd):(dd)s+UTCs*$/
, 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
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…