我有一个应用程序,其中不同的用户位于全球不同地区(我知道他们的时区),他们可以输入日期和时间,我需要将所有内容以 UTC 格式存储在数据库中。
通常要实例化我的时间变量,我正在做:
DateTime.new(date.year, date.month, date.day, hours, minutes, 0)
这已经是 UTC,但没有转换。
如果我使用 time_zone(即“Melbourne”)向该字符串添加第 7 个参数,那么它将把它解释为澳大利亚的日期,并且当转换为 UTC 时,生成的 DateTime 会落后 10 小时,并且作品。
但是,这没有考虑夏令时。
我需要做到这一点(例如来自日期/时间组件的 DateTime),这样(例如,在澳大利亚的情况下),在 4 月 9 日使用相同的小时/分钟会给我一个不同的偏移量转换为 UTC 时比我使用 4 月 5 日时。
有任何想法吗?
谢谢!
丹尼尔