我在Rails 3中将UTC Time
或TimeWithZone
转换为本地时间遇到了问题。
假设moment
是一个UTC时间的Time
变量(例如moment = Time.now.utc
)。如何将moment
转换为我的时区,并处理夏令时(即使用EST / EDT)?
更确切地说,如果时间对应于今天早上9点EDT,则我想要输出"星期一,3月14日,上午9点",如果时间是上周一早上9点EST,则输出"星期一,3月7日,上午9点"。
希望还有其他方法?
编辑:我最初认为"EDT"应该是一个被认可的时区,但"EDT"不是一个实际的时区,而更像是时区的状态。例如,询问Time.utc(2011,1,1).in_time_zone("EDT")
没有任何意义。这有点令人困惑,因为"EST"是一个实际的时区,在一些不使用夏令时并且全年都是(UTC-5)的地方使用。
in_time_zone
方法和他们的时区。 - Dylan MarkowTime.now.localtime
在普通的 irb 会话中可以运行,但是当我尝试在一个处于 UTC 时区的机器上运行它时,它无法工作。 - Ava