2016-06-08 146 views
1

我能想到一個非常漫長的方式,通過分解字符串,然後設置變量,將每個數字月份轉換爲文本月份,但在做所有這些之前,有一個更簡單的方法來做到以下幾點?將真實世界的日期轉換爲unix時間戳PHP

我有存儲在一個變量這樣的日期:

$date = '21/05/16'; 

我需要它使用日期,月份和年份與當前時間戳的小時,分​​鍾轉換爲Unix時間戳從變量&秒。

我上述最終會使用的strtotime這樣的方式:

$unixtimestamp = strtotime("21 May 2016"); 

但是就像我說的,我不得不通過「/」,那麼每個數字表示的月轉換爲爆炸的$ date變量(05 = 5月等),最後將'20'注入每年的前面。這似乎真的很長,有更好的方法嗎?

最後,我不確定我會如何將當前的小時,分​​鍾,秒添加到strtotime(),即使我必須按照上述方式進行操作,所以請指出任何指針。

任何幫助非常感謝。

回答

2

可以使用DateTime對象:

$date = '21/05/16'; 
$dateObject = DateTime::createFromFormat('d/m/Y', $date); 
$timestamp = $date->getTimestamp(); 

和你做:)

編輯:走得更遠,你可以操縱你的約會,並添加小時左右:

$dateObject->add(new DateInterval('P4H3M2S')); 

它增加了4小時3分2秒的日期。請注意,它不會返回新的日期,它會修改您正在操作的日期對象。

+0

你我的朋友是一個傳奇:)謝謝你救了我一堆時間。 – Grant