使用to_time to_datetime在Rails中转换DateTime字符串的行为不同。为什么?

时间:2015-03-13 08:58:22

标签: ruby-on-rails to-date

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

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

例如:

我通过json / api

中的正文内容收到此字符串

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

当我像这样转换这个字符串时:
date.to_datetime,结果是"星期五,2015年3月13日09:29:00 + 0000"

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

正如您所看到的,添加时间校正的方式有所不同&#34; + 0000&#34; vs &#34; + 0100&#34; < / em>的

所以当我这样转换时:
date.to_time.to_datetime,结果是&#34;星期五,2015年3月13日09:29:00 + 0100&#34;

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

我的问题是:

  1. .to_date and.to_datetime

  2. 行为差异的解释是什么?
  3. Postgres如何处理日期。保存日期时间参数时,例如&#34;星期五,2015年3月13日09:29:00 + 0000&#34; ,我在json响应中渲染此日期,这是1小时后。

  4. 希望有人能向我解释这一点 马亭

0 个答案:

没有答案