2015-05-21 4 views
0

В PHP у меня есть время, как этотPHP изменить строку в формат времени

$time = '2015-06-29T16:00:00Z'; 

Я хочу, чтобы преобразовать это время как этот формат Tuesday, December 16, 2015 3:00 PM

Для этого я попытался echo date('jS F Y', strtotime($time));

но это показывает время как 1st January 1970 Так может кто-то помочь мне получить фактический формат времени, как я хочу.

+1

Существует несколько дат раз. –

+0

Проверьте обновление в ответе, вы получите этот формат. –

ответ

3

Простой DateTime использование класса должно быть достаточно, только кормить его в конструктор, то просто использовать ->format и обеспечивают нужный формат вывода:

$time = '2015-06-29T16:00:00Z'; 
$date = new DateTime($time); 
echo $date->format('jS F Y'); 

Sample Output

+0

Но я хочу, чтобы дата и время наступали как вторник, 16 декабря 2014 г. 3:00 PM – NewUser

+1

@NewUser просто, просто укажите формат, формат echo $ date-> ('l, F d, Y g: i A '); 'здесь ссылка http://php.net/manual/en/function.date.php – Ghost

-1

Использование preg_split:

$parts = preg_plit("/Z/",$time); 
$parts = preg_split("/T/",$parts[0]); 
$theDate=$parts[0]; 
$theTime=$parts[1]; 
$what_you_want=date(strtotime($theDate." ".$theTime); 

Обратите внимание, что вы все равно можете изменить формат вывода.

+0

Ошибка. –

0

Просто передайте необходимые параметры формата.

$time = '2015-06-29T16:00:00Z'; 
echo date('l, F j, Y g:i A', strtotime($time)); 
+0

Будьте осторожны при взрыве, если OP хочет сохранить время zulu, вместо этого вы получите часовой пояс по умолчанию – Ghost

+0

Хм .. Вы правы .. но OP хочет обновленный ответ. Так что это не имеет значения, я думаю. –

0

Вы можете использовать класс DateTime для лучшей обработки дат

$time = '2015-06-29T16:00:00Z'; 
$dateTime = new DateTime($time); 
echo $dateTime->format('l, F d, Y g:i A'); 
Смежные вопросы