我从日期输入和时间输入中发送了两个日期对象。
我想生成一个DateTime对象,其日期输入为yyyy-mm-dd,时间输入为hh-mm。
从日期输入发送的数据
[search_from_date] => 2015-08-04T23:00:00.000Z
从时间输入
发送的数据 [search_from_time] => 1970-01-01T02:02:00.000Z
我需要将这两个日期合并到:
2015-08-04 02:02
我一直在玩爆炸绳子等无济于事,
任何帮助都是适当的
干杯
答案 0 :(得分:4)
您可以从字符串中创建两个DateTime对象,然后使用第二个对象在第一个上设置时间。
$arr = ['search_from_date' => '2015-08-04T23:00:00.000Z', 'search_from_time' => '1970-01-01T02:02:00.000Z'];
$date = new DateTime($arr['search_from_date']);
$time = new DateTime($arr['search_from_time']);
$date->setTime($time->format('H'), $time->format('i'), $time->format('s'));
echo $date->format('r');
这是一个带有示例的eval.in - https://eval.in/424209
答案 1 :(得分:0)
这样的事情应该有效。
$finalDateD
仅为年,月和日创建日期字符串
和
$finalDateT
仅为小时,分钟创建日期字符串
然后将其连接到变量$finalDate
;
$finalDateD = date('Y-m-d', strtotime($search_from_date));
$finalDateT = date('H:i', strtotime($search_from_time));
$finalDate = $finalDateD.' '.$finalDateT;
答案 2 :(得分:0)
你可以像这样拆分“T”:
$search_from_date = "2015-08-04T23:00:00.000Z";
$search_from_time = "1970-01-01T02:02:00.000Z";
$tab_date = explode("T", $search_from_date);
$tab_time = explode("T", $search_from_time);
$date_time = new DateTime("$tab_date[0]T$tab_time[1]");
var_dump($date_time);
答案 3 :(得分:0)
试试这个,
$search_from_date = '2015-08-04T23:00:00.000Z';
$search_from_time = '1970-01-01T02:02:00.000Z';
$data = explode('T',$search_from_date);
$data1 = explode('T',$search_from_time);
$data1 = explode('.',$data1[1]);
echo $data[0].' '.$data1[0];
答案 4 :(得分:0)
$time=new DateTime('1970-01-01T02:02:00.000Z');
$date=new DateTime('2015-08-04T23:00:00.000Z');
$newDateTime= new DateTime();
$newDateTime->setTime($time->format('H'),$time->format('i'),$time->format('s'));
$newDateTime->setDate($date->format('Y'),$date->format('m'),$date->format('d'));
echo $newDateTime->format('Y/m/d H:i'));
exit;