繁体   English   中英

Rails DateTime to Time dst检查

[英]Rails DateTime to Time dst check

Time.now
2017-03-14 12:07:59 -0600
Time.now.dst?
true

tt = Time.parse(DateTime.strptime("03/14/2017 12:07AM", "%m/%d/%Y %I:%M%p").to_datetime.to_s)
2017-03-14 00:07:00 +0000
tt.class
Time
tt.dst?
false

这也失败了

DateTime.strptime(value, "%m/%d/%Y %I:%M%p").to_datetime.strftime("%Y-%m-%d %H:%M:%S").to_datetime.change(offset: '-0500').to_time.dst?

为什么将DateTime转换为Time会失败?

我认为这是因为转换后的时间缺少时区(例如-0600)。 尝试以下方法

 tt = Time.parse(DateTime.strptime("03/14/2017 12:07AM -06:00", "%m/%d/%Y %I:%M%p %z").to_datetime.to_s)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM