正则表达式替换时区偏移量

时间:2012-04-17 19:52:06

标签: ruby-on-rails ruby regex

我有一个字符串,表示带有时区的日期/时间。我想将时区部分更改为UTC +00:00

请帮助我编写与+05:30-03:30等匹配的regext,并将其替换为+00:00

我尝试了"2012-04-17T15:40+05:30".gsub!(/\+\d\d:\d\d/, '+00:00'),这给了我预期的结果,但我不知道如何匹配-5:30

如果有人帮我编写适用于2012-04-17T15:40+05:302012-04-17T15:40-05:30的正则表达式,我将不胜感激

谢谢, 阿米特帕特尔

3 个答案:

答案 0 :(得分:6)

"2012-04-17T15:40+05:30".gsub!(/[+-]\d\d:\d\d/, '+00:00')

将取代正负偏移。但为什么呢?

答案 1 :(得分:1)

如何简单:

str = "2012-04-17T15:40+05:30"
str.sub!(/.{6}\z/, '+00:00') # => "2012-04-17T15:40+00:00"

答案 2 :(得分:1)

将正则表达式更改为

/(\+|\-)\d\d:\d\d/