3

在将我的 Rails 应用程序部署到 VPS 后,我遇到了一些“时间”问题。经过一番困惑后,我发现 Rails 在使用日期/时间转换时表现得很奇怪。

我的服务器设置为时区“阿姆斯特丹”,在 Rails 配置中我也将时区设置为“阿姆斯特丹”

例子:

我通过 json/api 中的正文内容收到此字符串

date = "13-03-2015 09:29"

当我像这样转换这个字符串时:
date.to_datetime,结果是“Fri, 13 Mar 2015 09:29:00 +0000”

当我像这样转换字符串时:
date.to_time,结果是“2015-03-13 09:29:00 +0100”

如您所见,添加时间校正“+0000”“+0100”的方式有所不同

所以当我这样转换时:
date.to_time.to_datetime,结果是“Fri, 13 Mar 2015 09:29:00 +0100”

这就是我需要的结果,因为我的 postgres 数据库否则给了我一个错误的日期(+1 小时)

我的问题是:

  1. .to_date and和 的行为差异的解释是什么.to_datetime

  2. Postgres 如何处理日期。当保存像“Fri, 13 Mar 2015 09:29:00 +0000”这样的日期时间参数时,我在 json 响应中呈现这个日期是 1 小时后。

希望有人可以向我解释这一点。
马汀

4

0 回答 0