2015-05-15 3 views
1

У меня есть дата в формате ymd. Пример 2014-05-28 я на самом деле:. 140528.Преобразование даты PHP с использованием strtotime

Я хотел бы, чтобы преобразовать его в дату (с ") формат Пример: 2014-05-28T00: 00: 00-04: 00

.

я не могу использовать DateTime :: createFromFormat из-за моей версии PHP так вместо этого я попытался StrToTime, но без успеха:

$d[14]="140528"; 
$deliveryDate = date('ymd', $d[14]); 
$d[14] = date("c", strtotime($deliveryDate)); 

StrToTime не распознает исходный формат даты, как он возвращает мне 1969 Дата

.

ответ

2

Разбейте его на части, а затем сформируйте действительную дату из этих частей. Затем strtotime() будет работать.

$badDate = "140528"; 
$date = sprintf("20%s-%s-%s", 
    substr($badDate, 0, 2), 
    substr($badDate, 2, 2), 
    substr($badDate, 4, 2) 
); 

echo date("c", strtotime($date)); 

Demo

+0

работает хорошо, спасибо! Не нравится жестко закодированный бит «20», но я думаю, что он будет делать в течение следующих 85 лет. – Clement

Смежные вопросы