考虑这个日期字符串:
"2012-08-20T15:00:00-07:00"
它添加了时间偏移量"-07:00"
我如何才能发现它添加了此偏移量?我知道我可以用正则表达式做到这一点。但是还有其他更简单的方法吗?
或者有人拥有它的正则表达式吗?
我知道我可以用正则表达式来做,但还有其他更简单的方法吗?
我不这么认为,正则表达式是可用的最简单的模式匹配器。
有人有它的正则表达式吗?
我认为这应该做到:
/[+-]dd:dd$/.test(datestring)
如果你想解析它,请使用
var match = /([+-]?dd):(dd)$/.exec(datestring);
if (match)
return parseInt(match[1], 10)*60 + parseInt(match[2], 10)*(match[1].charAt(0)=="-"?-1:1);
return 0;
如果您的日期字符串总是使用相同的格式,您可以简单地使用.length
来检查是否添加了一些内容:
var your_string = "2012-08-20T15:00:00";
if(your_string.length > 19) {
// offset added
// offset = your_string.substring(19);
} else {
// no offset added
}
无论如何,我建议使用(new Date).getTime()
,它返回自1970年1月1日起的毫秒数,即UTC 0:00:00h。这更容易计算。。。