Tag: activesupport

如何将MS Excel中的date从浮动转换为date格式?

尝试使用ruby脚本中的roo gemparsing和XLSX文件。 在Excel中,date以DDDDD.ttttt格式存储为浮点数或整数,从1900-01-00 (00 no 01)计数。 所以为了转换date,如40396 – 你会采取1900-01-00 + 40396 ,你应该得到2010-10-15,但我得到2010-08-08。 我正在使用active_support / time来计算,如下所示: Time.new("1900-01-01") + 40396.days 我在做我的计算错误还是有积极支持的错误? 我在Windows 7上运行ruby 1.9.3-mri + latest active_support gem(3.2.1) 编辑 我正在用错误的数据查看Excel中较旧的文件 – 我的脚本/控制台正在提取正确的数据 – 因此我的困惑 – 除了使用正确的文件之外,我一切正常。 该死的全能者! 感谢大家的回复,我会在这里保留这个问题,以防有人需要关于如何使用ruby从excel转换date的信息。 另外对于碰到这个问题的其他人 – 电子表格gem不支持正确读取XLSX文件(v 0.7.1) – 所以我使用roo来读取,而使用axlsx来写入。