我有下面這個日期時間代碼。我要減去23小時在$59分鐘開始變量:php日期時間分數秒秒
$date = 2016-03-14 23:59:59;
$given = new DateTime($date, new DateTimeZone("Asia/Tokyo"));
$given->setTimezone(new DateTimeZone("UTC"));
$end = $given->format("Y-m-d H:i:s");
$begin = date('Y-m-d H:i:s',strtotime('-23 hours',strtotime($end)));
現在輸出的是:
$end is: 2016-03-14 14:59:59
$begin is: 2016-03-13 15:59:59
我想輸出是:
$end is: 2016-03-14 14:59:59
$begin is: 2016-03-13 15:00:00
我怎麼能減在幾秒鐘內開始?或者有一個最好的方法來做到這一點?
當你只是想更改小時,試試這個:'回聲$開始=日期( 'YMD H:00:00',的strtotime(' - 22小時,的strtotime($結束))); ' –
考慮使用http://carbon.nesbot.com/,它擴展了DateTime和一些有用的功能。你會在其API中執行'$ date-> subHours(23) - > subMinutes(59)'。 – ceejayoz
@FrayneKonok你應該發佈作爲答案! –