ruby-on-rails - 如何在 Rails 中正确处理 AM/PM 时间?
问题描述
我有一个将开始时间和结束时间保存到数据库的 API。时间以 UTC 保存。
例如,如果我start_time
是美国东部标准时间上午 9:00,它将在我的数据库中保存为 14:00:00。同样,当我end_time
是美国东部标准时间晚上 10:00 时,它将在我的数据库中保存为 03:00:00。
这两个都是 Postgres 中的时间字段。
当我在单独的 API 中检索这些时间时,start_time
解析得很好,但end_time
解析得好像是下午 3 点。做end_time.hour
给我 15。我希望这是凌晨 3 点,所以当我将其转换回东部标准时间时,我可以得到晚上 10:00。
我怎样才能做到这一点?
编辑:
- 我正在使用
time
Postgres 中的类型。 - 我服务器上的时区是 UTC。
- API 是一个单独的控制器上的端点,它将这些值传递给我的客户端。
- 服务器(也为 API 提供服务)在本地
America/Toronto
时区和America/New York
生产时区(相同的时区)中运行。
解决方案
推荐阅读
- python - python中的空图,无法保存图
- oidc-client-js - oidc-client 身份验证失败:来自用户信息端点的 sub 与 access_token 中的 sub 不匹配
- php - 如何建立网络电子支付系统(捐赠系统)?
- regex - grep中单个数字的正则表达式
- lua - Lua 5.1 中的 lua_len() 替代方案是什么?
- git - 没有环境作者的 git commit
- ruby - 如何按照它们在字符串 y 中出现的顺序对字符串 x 进行排序?
- c# - 如何将此循环代码转换为单个 LINQ 实现?
- scala - #在scala中是什么意思
- html - 离子通道数据