分裂datime在PHP

分裂datime在PHP

问题描述:

我有2个datetime值:分裂datime在PHP

$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

其实你需要什么,日期和时间分开?没有明白你的意思。 – Aajan

+0

你尝试过什么吗?如何将这个问题与要求将日期分成1小时长的问题类似? http://stackoverflow.com/questions/2500482/start-and-end-time-split-into-1-hour-segments –

使用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。每次添加间隔时,都会打印格式化的日期时间字符串。

您是否看过手册? 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'; 

因此,你应该能够编写完整的答案。

$ begin and $ end是form($ POST)的datetime。 我想用真实数据显示“输入”和“输出”。