8

我注意到 Rails 的String.to_timezone方法不使用当前时区,当字符串中没有给出时区时。

$ "2013-01-14 14:38".to_datetime
=> Mon, 14 Jan 2013 14:38:00 +0000
$ DateTime.now
=> Mon, 14 Jan 2013 14:39:50 +0100

有没有办法告诉方法使用当前时区?

谢谢。

4

4 回答 4

11

尝试这个:

Time.zone.parse('2013-01-14 14:38').to_datetime

这将使用当前时区将字符串解析为日期。

于 2014-06-20T01:15:09.950 回答
6

您可以使用的对象上有#in_time_zone方法:DateTime

"2013-01-14 14:38".to_datetime.in_time_zone
"2013-01-14 14:38".to_datetime.in_time_zone("Prague")
于 2013-01-14T13:56:21.607 回答
4

使用in_time_zone

"2013-01-14 16:06".in_time_zone
=> Mon, 14 Jan 2013 16:06:00 CET +01:00 
于 2017-03-07T09:16:23.270 回答
0
"2013-01-14 16:06".in_time_zone

或者

"2013-01-14 16:06".in_time_zone

没有其他答案。

于 2019-01-29T14:34:18.187 回答