繁体   English   中英

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

[英]Why Ruby's strftime is rounding up the date?

我有一个 Ruby on Rails 项目。 假设我的数据库中有一个表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。

我的问题中的日期是直接从数据库中获取的,当我strftime d 时,它会在时间部分增加 8 小时,从而将日期四舍五入。

暂无
暂无

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

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