在 Rails 3中,我在将 UTC Time
或 TimeWithZone
转换为本地时间时遇到了麻烦。
假设 moment
是 UTC 中的某个 Time
变量(例如 moment = Time.now.utc
)。如何转换 moment
到我的时区,照顾 DST (即使用 EST/EDT) ?
更准确地说,如果时间对应于美国东部时间今天上午9点,我想打印出“3月14日星期一上午9点”; 如果时间是美国东部时间上周一上午9点,我想打印出“3月7日星期一上午9点”。
希望还有别的办法?
编辑 : 我一开始以为,“ EDT”应该是一个可识别的时区,但是“ EDT”不是一个实际的时区,更像是一个时区的状态。例如,要求 Time.utc(2011,1,1).in_time_zone("EDT")
是没有任何意义的。这有点令人困惑,因为“ EST”是是一个实际的时区,在一些不使用夏令时并且(UTC-5)一年长的地方使用。