2014-02-26 42 views
5

一個特定的日期後,我在找下週四獲得週一的下一次出現,說2014-02-25。我在這裏遇到的問題是,當我使用下面的代碼時,時間似乎被抹去了。PHP從某一特定日期(與時間)

<?php 
    $timestamp = '2014-02-25 10:30:00'; 

    echo date('Y-m-d H:i:s', strtotime("next Thursday", strtotime($timestamp))); 
?> 

我得到的結果是2014-02-27 00:00:00當我想它是2014-02-27 10:30:00

有我丟失的東西在這裏,導致被設置爲午夜時間?

我很感謝幫助,謝謝。

+1

請問下週四開始在10:30或文檔00:00? – kero

+0

@kingkero我真的不知道這是否是諷刺...有一個想法如何保持時間? –

+1

這是正確的。週四從午夜開始。 – Gavin

回答

8

沒有可以直接表達的時間格式。您需要生成像

next Thursday 10:30:00 

...手動並將其傳遞給strtotime()。您需要從參考時間字符串中提取的時間信息。就像這樣:

$refdate = '2014-02-25 10:30:00'; 
$timestamp = strtotime($refdate); 

echo date('Y-m-d H:i:s', 
    strtotime("next Thursday " . date('H:i:s', $timestamp), $timestamp) 
); 

同樣的結果可以使用字符串連接來實現:

echo date('Y-m-d', strtotime("next Thursday", $timestamp) 
    . ' ' . date('H:i:s', $timestamp); 

用於所謂的relative time formats可以發現here

+0

嘿,謝謝你的答案。測試這個,我得到了與我27日午夜的原始代碼相同的響應。我要找的結果是27日10:30。發生這種情況的可能性? –

+0

好吧,明白了。 :) ..讓我檢查 – hek2mgl

+0

美麗,謝謝..你能指出我對上述的一些文件?我一整天都在讀關於strtotime的文章,而且還沒有在你的回答中看到上面所說的串聯。我指的是您將時間連接到「下個星期四」的方式 –

相關問題