为什么Ruby在不同的年份返回不同的时区?

时间:2019-06-10 15:33:34

标签: ruby

我的时区是IST,+ 0530。 如果我传递最近几年的参数,它将显示正确的区域:

Time.new('2000', '02', '29')    # => 2000-02-29 00:00:00 +0530

但是区域会像这样多年变化:

Time.new('1000', '01', '29')    # => 1000-01-29 00:00:00 +0553
Time.new('1943')                # => 1943-01-01 00:00:00 +0630
Time.new('1871')                # => 1871-01-01 00:00:00 +0521

要找出以前的日期,我创建了一个循环:

puts 2_200.times.map { |i| Time.new(i.to_s) }

正如我在未来几年看到的那样,该区域是+0530,但是在过去的几个世纪中,该区域有时会有所不同!

为什么同一系统中的区域不同?

1 个答案:

答案 0 :(得分:1)

  

为什么同一系统中的区域不同?

因为时区会随时间变化。