2017-06-15 54 views
0

在我的數據庫中有一個名爲begindate的列,它是來自不同程序的輸出。我需要將其轉換,以便我可以在我的網站上打印它,但我不知道它是什麼類型的日期格式,以及如何轉換它。來自輸出計劃程序的奇怪日期格式

這裏是一個例子:'736874''736872'

這不是時代,因爲當我轉換它,它說這是Friday, January 9, 1970但應該至少是「2017年」

所以我有兩個假設。

  • 這是我不知道的

  • 這個數據格式是由其他程序生成的字符串

(我不知道名字另一個程序,但它用於計劃)。

+0

如果沒有辦法聯繫誰想出這個奇怪的日期系統,那麼你需要希望有此人誰是遇到過這樣的人。發生這種情況的機率接近0,因爲我們已經使用了許多年的標準日期符號,而這不是其中之一。 – apokryfos

+0

@apokryfos我剛剛聯繫過使用它的人。他們說這是從特定日期開始的幾秒鐘或幾分鐘,可能是1900年1月1日。現在我必須計算它te的日期和一些系統在我的網站上打印它 –

+0

哇,他們實際上使它不太清楚它是什麼 – apokryfos

回答

0

此日期格式稱爲序列日期。它主要用於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;