考慮這個日期字符串:如何確定日期字符串是否包含已在Javascript中添加的時間偏移量?
"2012-08-20T15:00:00-07:00"
有時間偏移添加"-07:00"
我如何才能找到它這個偏移量增加? 我知道我可以用正則表達式來做到這一點。 但是還有其他更簡單的方法嗎?
還是有任何人有它的正則表達式?
考慮這個日期字符串:如何確定日期字符串是否包含已在Javascript中添加的時間偏移量?
"2012-08-20T15:00:00-07:00"
有時間偏移添加"-07:00"
我如何才能找到它這個偏移量增加? 我知道我可以用正則表達式來做到這一點。 但是還有其他更簡單的方法嗎?
還是有任何人有它的正則表達式?
如果你總是有你的日期字符串相同的格式,你可以簡單地使用.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()
返回毫秒自01.01。 1970年,0:00:00 UTC。這是更容易計算...
我知道我可以用正則表達式來做,但有沒有其他更簡單的方法嗎?
我不這麼認爲,正則表達式是最簡單的模式匹配器可用。
是否有任何人有它的正則表達式?
我想這應該這樣做:
/[+-]\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;
大感謝,但它僅與負這樣的2012-08偏移作品! -20:15:00:00-07:00,並且沒有像2012-08-20T15:00:00 + 07:00這樣的正偏移量。我們能解決嗎? – Ishita
糟糕,我完全忘記了格式化的正偏移量。我認爲這是'Z',但這實際上意味着零偏移。 – Bergi