我有一个数组 bed_times
,其中包含以 UTC 格式表示的 Time
实例:
bed_times = [
Time.utc(2015, 12, 10, 5, 58, 24),
Time.utc(2015, 12, 9, 3, 35, 28),
Time.utc(2015, 12, 8, 6, 32, 26),
Time.utc(2015, 12, 7, 1, 43, 28),
Time.utc(2015, 12, 5, 7, 49, 30),
Time.utc(2015, 12, 04, 7, 2, 30)
]
#=> [2015-12-10 05:58:24 UTC,
# 2015-12-09 03:35:28 UTC,
# 2015-12-08 06:32:26 UTC,
# 2015-12-07 01:43:28 UTC,
# 2015-12-05 07:49:30 UTC,
# 2015-12-04 07:02:30 UTC]
我正在尝试获取平均就寝时间,但是我没有得到正确的结果。
ave = Time.at(bed_times.map(&:to_f).inject(:+) / bed_times.size)
结果是
2015-12-07 01:26:57 -0800
这不是正确的做法。另外,我希望将平均时间转换成不同的时区。
我尝试了
Time.zone = 'Pacific Time (US & Canada)'
Time.zone.parse(ave.to_s)
2015-12-07 01:26:57 -0800
这也是不正确的。