我正在使用下面的代碼將通用時間代碼轉換爲更友好一些的用戶。
$meeting_time = date('g:i a', strtotime($time_date_data));
但現在我需要從meeting_time減去6小時。我應該在上面的代碼之後執行它,還是可以將它應用到相同的日期函數中?
喜歡的東西:
$meeting_time = date('g:i a' - 6, strtotime($time_date_data));
我正在使用下面的代碼將通用時間代碼轉換爲更友好一些的用戶。
$meeting_time = date('g:i a', strtotime($time_date_data));
但現在我需要從meeting_time減去6小時。我應該在上面的代碼之後執行它,還是可以將它應用到相同的日期函數中?
喜歡的東西:
$meeting_time = date('g:i a' - 6, strtotime($time_date_data));
$meeting_time = date('g:i a', strtotime($time_date_data) - 60 * 60 * 6);
字符串到時間(的strtotime)返回一個以秒爲單位(自Epoch起)的Unix時間戳,所以y ou可以簡單地減去21600秒,然後再將其轉換回指定的日期格式。
試試這個:
// 6 hours, 3600 seconds in an hour
$meeting_time = date('g:i a', strtotime($time_date_data) - 6 * 3600);
感謝+1的幫助 – Denoteone
這個答案是更精確對我的時間計算。謝謝你mc10。 –
你應該能夠做到這一點:
$meeting_time = date('g:i a', strtotime($time_date_data));
date_add($meeting_time, - date_interval_create_from_date_string('6 hours'));
另一種方法:
$meeting_time = date('g:i a', strtotime('-6 hours', strtotime($time_date_data)));
OO PHP的方式:
$date = new DateTime(); // current time
echo 'Current: '. $date->format('Y-m-d H:i:s') . "\n";
$date->sub(new DateInterval('PT3H55M10S'));
echo $date->format('Y-m-d H:i:s') . "\n";
對於sustract 6個小時:
$date = new DateTime('2017-01-20'); // pass $time_date_data to here
$date->sub(new DateInterval('PT6H'));
感謝您的解釋。 +1檢查。 – Denoteone