我有2 datetime
值:
$begin = new DateTime( "2015-07-03 12:00:00" );
$end = new DateTime( "2015-07-04 14:00:00" );
我需要将其拆分为此结果:
val11 = 2015-07-03 12:00:00;
val12 = 2015-07-03 23:59:59;
val21 = 2015-07-04 00:00:00;
val22 = 2015-07-04 14:00:00;
答案 0 :(得分:0)
使用DateTime.add(DateInterval)
DateInterval {
/* Properties */
public integer $y ;
public integer $m ;
public integer $d ;
public integer $h ;
public integer $i ;
public integer $s ;
public integer $invert ;
public mixed $days ;
/* Methods */
public __construct ( string $interval_spec )
public static DateInterval createFromDateString ( string $time )
public string format ( string $format )
}
所以,你需要添加3 DateInterval
个; 7小时59分59秒..然后再增加一秒 - 最后14个小时。或者无论您的逻辑是什么,请从DateTime
的小时/分钟/秒进行一些数学计算,并相应地调整DateInterval
。每次添加间隔时,都会打印格式化的日期时间字符串。
答案 1 :(得分:0)
$val11 = $begin->format('Y-m-d H:i:s');
$val12 = $begin->format('Y-m-d').' 23:59:59';
有了这个,您应该能够编写完整的答案。
答案 2 :(得分:0)
值 $ begin 和 $ end 是来自表单的日期时间($ POST)。 我想展示"输入"和"输出"有真实数据。