如何判断Date字符串是否包含已在Javascript中添加的时间偏移量

How to figure out if the Date string contains time offset added already in Javascript?

本文关键字:Javascript 添加 偏移量 时间 包含 是否 何判断 判断 字符串 Date      更新时间:2023-09-26

考虑这个日期字符串:

"2012-08-20T15:00:00-07:00"

它添加了时间偏移量"-07:00"我如何才能发现它添加了此偏移量?我知道我可以用正则表达式做到这一点。但是还有其他更简单的方法吗?

或者有人拥有它的正则表达式吗?

我知道我可以用正则表达式来做,但还有其他更简单的方法吗?

我不这么认为,正则表达式是可用的最简单的模式匹配器。

有人有它的正则表达式吗?

我认为这应该做到:

/[+-]'d'd:'d'd$/.test(datestring)

如果你想解析它,请使用

var match = /([+-]?'d'd):('d'd)$/.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。这更容易计算。。。