php 日期多余小时,在PHP中添加小时到日期时间
DateTime是
PHP中的一個很棒的功能
$string = '1/1/2016 11.00PM';
$date = new DateTime($string);
$interval = new DateInterval('PT6H');
$date->add($interval);
// Now add another 6 hours while we are between 12:00 AM and 6:00 AM
while($date->format('G') >= 0 && $date->format('G') <= 6)
{
$date->add($interval);
}
echo $date->format('H:i:s M-j-Y');
這輸出所需的
11:00:00 Jan-2-2016
更新
在我們廣泛了解這條特定代碼的邏輯之后,我們得出結論,午夜到早上6點之間完成的任何交易都應該從早上6點開始增加6小時(所以,基本上,設置為正午).
每個其他交易通常會增加6個小時.但是如果在加上那6個小時之后,時間間隔在午夜和早上6點之間,那么只有初始和午夜之間的相應時間量和其余時間應該加到早上6點,這基本上只是增加了12個小時到初始值.
所以這是修改后的代碼:
$date = new DateTime($string);
$interval = new DateInterval('PT6H');
if($date->format('G') >= 0 && $date->format('G') <= 6)
{
$date->setTime(12,0,0);
}
else
{
$date->add($interval);
if($date->format('G') >= 0 && $date->format('G') <= 6)
{
$date->add($interval);
}
}
echo $date->format('H:i:s M-j-Y');
示例#1
// input
$string = '1/1/2016 3.00AM';
//output
12:00:00 Jan-1-2016 // this is midday
例#2
// input
$string = '1/1/2016 11.00AM';
//output
17:00:00 Jan-1-2016 // this is 5:00 PM
例#3
// input
$string = '1/1/2016 11.00PM';
//output
11:00:00 Jan-2-2016 // this is 11:00 AM
總結
以上是生活随笔為你收集整理的php 日期多余小时,在PHP中添加小时到日期时间的全部內容,希望文章能夠幫你解決所遇到的問題。