Phpunit 将unix时间戳转换为日期时不匹配

Phpunit 将unix时间戳转换为日期时不匹配,phpunit,unix-timestamp,libreoffice,libreoffice-calc,Phpunit,Unix Timestamp,Libreoffice,Libreoffice Calc,我有一个带有unix时间戳的数据库(CSV)。我试图将LibreOffice Calc中的数据转换为可读的日期。一切都很好。。。除了一天的延迟 例如,我的时间戳是-518144400(在E2单元中)。 我的函数是:=E2/86400+DATEVAL(“1/1/1970”)。 我获得了与1953-07-31相对应的195729583333。 这证实了结果 有什么问题?正确答案是1953-08-01。 首先,我认为时间戳包含一个错误。但是,在中,如果我将-518144400作为参数粘贴到URL中,它

我有一个带有unix时间戳的数据库(CSV)。我试图将LibreOffice Calc中的数据转换为可读的日期。一切都很好。。。除了一天的延迟

例如,我的时间戳是-518144400(在E2单元中)。 我的函数是:=E2/86400+DATEVAL(“1/1/1970”)。 我获得了与1953-07-31相对应的195729583333。 这证实了结果

有什么问题?正确答案是1953-08-01。 首先,我认为时间戳包含一个错误。但是,在中,如果我将-518144400作为参数粘贴到URL中,它就会工作。在线日历将此时间戳与(我认为是)正确答案相关联

我不明白发生了什么。我错过了什么?
一种解决方案是在我的函数中添加+1以进行更正。但我不满意,我想了解…

这取决于转换时区,我的意思是-518144400(时间戳)等于格林尼治标准时间内的1953-07-31


而在所有其他时区,相对于GTM的时间为+1或更多时,则为1953-08-01。谢谢你的解释。那么,有没有办法适当地修改时区?(我的意思是用另一种方式将+1添加到我的函数中)?是的,您必须将其添加到时间中,因为Unix纪元时间是GMT。是否要在Excel中执行此操作?在Excel(或Calc)中执行此操作将非常好。:)根据你的建议,我测试了一个新东西。在我所在的法国,根据我的数据,时区是GMT+1。如果我把-518144400转换成日期和小时,我会得到“1953-07-3123:00:00”。你说得对,这不是一天的延迟,而是一小时的延迟(3600秒)。因此,我的函数变成=(E2+3600)/86400+DATEVAL(“1/1/1970”),结果是正确的(即1953-08-01 00:00:00)。有什么错误吗?或者我在什么地方错了?