2015-08-28 3 views
2

У меня есть два объекта даты, отправленных с ввода даты и ввода времени.PHP: слияние двух объектов даты в один

Я хочу сгенерировать объект 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 

Я играл вокруг с взрывом струны и т. д. безрезультатно,

Любая помощь будет appriciated

Приветствия

ответ

0

Что-то, как это должно работать.

$finalDateD создает строку даты для всего года, месяца и дня и $finalDateT создает строку даты для всего часы, минуты Это затем объединяются в переменной $finalDate;

$finalDateD = date('Y-m-d', strtotime($search_from_date)); 
$finalDateT = date('H:i', strtotime($search_from_time)); 
$finalDate = $finalDateD.' '.$finalDateT; 
3

Вы можете создать два объекта 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

+0

Ах, потрясающе, да, это выглядит правильно. Примите, когда я проведу короткое время. Спасибо! –

0

можно разделить на "Т", как, что:

$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); 
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]; 
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; 
Смежные вопросы