首页 > 解决方案 > 离子日期时间字段、Rails API 和时区

问题描述

我正在开发一个带有 Rails 后端 API 的 Ionic 3 应用程序。我的 Postgres 数据库设置为 UTC,Rails 应用程序的默认时区是“America/Sao_Paulo”。

在我的 Ionic App 中,我有一个 DateTime 字段:

<ion-datetime displayFormat="DD/MM/YYYY HH:mm" [(ngModel)]="scheduled_at"></ion-datetime>

该值被发送到我的 API,并存储到数据库中。现在的问题是,通常我希望 Rails 将 DateTime 从 Sao_Paulo 转换为 UTC 以将其存储在数据库中。但是发生的情况是它按原样存储它并认为它已经是UTC。

在我的创建方法中,我尝试使用:

Time.use_zone('America/Sao_Paulo') do
      ride.scheduled_at = Time.zone.parse(params[:scheduled_at])
end

但它仍然将原始参数 DateTime 原样存储到数据库中。

有任何想法吗?

标签: ruby-on-railsionic-framework

解决方案


推荐阅读