用PHP

时间:2016-02-29 10:22:33

标签: php datetime

我有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;

3 个答案:

答案 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)

你好,你读过手册吗? http://php.net/manual/fr/class.datetime.php

$val11 = $begin->format('Y-m-d H:i:s');
$val12 = $begin->format('Y-m-d').' 23:59:59';

有了这个,您应该能够编写完整的答案。

答案 2 :(得分:0)

$ begin $ end 是来自表单的日期时间($ POST)。 我想展示"输入"和"输出"有真实数据。