У меня есть исходное datetime, которое я тогда использовал подстроку, чтобы захватить каждый символ, чтобы сформировать дату-время. Теперь я хочу, чтобы это было преобразовано в соответствующую DateTime, так что если я когда-нибудь добавить 8 часов в часах он никогда не покажет выход 25, но вместо этого он будет показывать 1.конвертировать конкатенированную дату и время в datetime в php
Вот мой код для конкатенации необработанных данных
RAW DATA
$datetime = "150205172701";
код для того, чтобы данные ВЫШЕ DATETIME
$hour = substr($datetime, 6, 2) + 8;
$minutes = substr($datetime, 8, 2);
$second = substr($datetime, 10, 2);
$year = substr($datetime, 0, 2);
$month = substr($datetime, 2, 2);
$day = substr($datetime, 4, 2);
$findate = "20" .$year. "-" .$month. "-" .$day. " " .$hour. ":" .$minutes. ":" .$second. ".000";
РЕЗУЛЬТАТ БЫ 2015-02-05 25: 27: 01,000
ОЖИДАЕМЫЕ РЕЗУЛЬТАТЫ 2015-02-05 01: 27: 01,000
Почему бы не использовать функцию даты? –
Это похоже на очень долгий путь для этого - каковы исходные данные, из которых вы создали исходное «datetime»? – Voycey
Вы указали неправильную позицию на час substr –