来自输出计划程序的奇怪日期格式

问题描述:

在我的数据库中有一个名为begindate的列,它是来自不同程序的输出。我需要将其转换,以便我可以在我的网站上打印它,但我不知道它是什么类型的日期格式,以及如何转换它。来自输出计划程序的奇怪日期格式

这里是一个例子:'736874''736872'

这不是时代,因为当我转换它,它说这是Friday, January 9, 1970但应该至少是“2017年”

所以我有两个假设。

  • 这是我不知道的

  • 这个数据格式是由其他程序生成的字符串

(我不知道名字另一个程序,但它用于计划)。

+0

如果没有办法联系谁想出这个奇怪的日期系统,那么你需要希望有此人谁是遇到过这样的人。发生这种情况的几率接近0,因为我们已经使用了许多年的标准日期符号,而这不是其中之一。 – apokryfos

+0

@apokryfos我刚刚联系过使用它的人。他们说这是从特定日期开始的几秒钟或几分钟,可能是1900年1月1日。现在我必须计算它te的日期和一些系统在我的网站上打印它 –

+0

哇,他们实际上使它不太清楚它是什么 – apokryfos

此日期格式称为序列日期。它主要用于Excel。

它是如何工作的,从1900年1月0日开始。序列日期表示从那一刻起的天数。因此,1月19日的序列日期为36544.

下面是完整的解释链接http://www.cpearson.com/excel/datetime.htm

将它更改为DD/MM/YYYY用PHP,你可以使用下面的代码: (https://forums.phpfreaks.com/topic/157341-convert-serial-date-into-ddmmyyyy/

<? 
    function convertSerialDate($date) { 
     $timestamp = ($date - 25569) * 86400; 
     return date("d/m/Y",$timestamp); 
    } 

    print convertSerialDate(733535); 
?> 

因为这个日期是6个数字,它有点不同。日期代表从january 1th 0001开始的日期。 所以你需要使用这个编号719543

$timestamp = ($date - 719543) * 86400;