[英]Why Ruby's strftime is rounding up the date?
我有一个 Ruby on Rails 项目。 假设我的数据库中有一个表items
,其中有一列名为expiry_date
。
考虑items
表中的这两条记录:
id: 1, expiry_date: 2020-12-25 23:29:00
(假设我将它作为 ActiveRecord 对象加载到实例变量@item_one
中)id: 2, expiry_date: 2020-12-25 12:29:00
(假设我将它作为 ActiveRecord 对象加载到实例变量@item_two
中) 为什么strftime
方法给了我这个(我希望他们都评估到25 December 2020
?
@item_one.expiry_date.strftime('%-d %B %Y')
计算为26 December 2020
@item_two.expiry_date.strftime('%-d %B %Y')
计算为25 December 2020
我最终想通了。
我机器的时区是 GMT+8。
我的问题中的日期是直接从数据库中获取的,当我strftime
d 时,它会在时间部分增加 8 小时,从而将日期四舍五入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.