为什么 Ruby 的 strftime 正在四舍五入日期?



我有一个RubyonRails项目。假设我的数据库中有一个表items,其中有一个名为expiry_date的列。

考虑items表中的这两条记录:

  1. id: 1, expiry_date: 2020-12-25 23:29:00(假设我将其作为ActiveRecord对象加载到实例变量@item_one中(
  2. 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。

我问题中的日期是直接从数据库中获取的,当我strftimed时,它在时间部分增加了8个小时,因此将日期四舍五入。

相关内容

  • 没有找到相关文章

最新更新