我會做出這樣的假設規範是:
今天獲得在23時00分〇〇秒在當前時區
代碼應該是這樣的:
mktime(23, 0, 0);
...或:
strtotime('today 23:00:00')
...或者只是:
strtotime('23:00:00')
Test code:
$time_zones = array(
'America/Chicago',
'GMT',
'Europe/Berlin',
);
foreach($time_zones as $time_zone){
date_default_timezone_set($time_zone);
$t1 = mktime(23, 0, 0);
$t2 = strtotime('today 23:00:00');
$t3 = strtotime('23:00:00');
echo date('r', $t1) . '/' . date('r', $t2) . '/' . date('r', $t3) . PHP_EOL;
}
Fri, 02 Dec 2016 23:00:00 -0600/Fri, 02 Dec 2016 23:00:00 -0600/Fri, 02 Dec 2016 23:00:00 -0600
Fri, 02 Dec 2016 23:00:00 +0000/Fri, 02 Dec 2016 23:00:00 +0000/Fri, 02 Dec 2016 23:00:00 +0000
Fri, 02 Dec 2016 23:00:00 +0100/Fri, 02 Dec 2016 23:00:00 +0100/Fri, 02 Dec 2016 23:00:00 +0100
請mktime()和strtotime()手冊頁找到進一步的細節。
具體時間是什麼意思?你給的例子和你不想要的例子一樣嗎?請澄清。謝謝! – Ronald
如果您的位置在23:00,請修復unix機器的時鐘。如果在您所在的位置7:46,則該功能運行良好。如果你想在當前的日期和其他任何時間,你可以做'(time()/ 86400)* 86400'去除時間,然後加上'23 * 60 * 60'。 – Holger
'echo(new DateTime(「23:00」)) - > format('r');' –