Ruby gem电子表格以双精度返回日期



我有一个方法,通过一个excel电子表格运行,并把这些值到一个数组,然后到PostgreSQL。一切运行正常,但保存日期的单元格值作为双精度返回。我怎样才能得到日期值?此外,如果我不知道何时日期值将出现在excel电子表格中,我希望我的方法将双精度转换为日期只有当它是一个日期,而不仅仅是另一个双精度。

@engineersmnky评论,这篇文章帮我弄明白了。如何转换MS excel日期从浮动日期格式在Ruby?

require 'date'
require 'active_support/time'
puts (DateTime.new(1899,12,30) + 42153.days).strftime("%Y-%m-%d")
puts (Time.at( (42153 - 25569).days ).utc).strftime("%Y-%m-%d")

这两个解决方案都可以。基本上excel将日期存储为双精度,您从excel提供的双精度中减去一组数字并将其转换为天数。

最新更新