2013-11-16 3 views
0

, так что в настоящее время у меня есть 3 переменных, удерживающих день как целое число, месяц как 3-буквенное представление месяца, а год - 4 цифры.Формат даты более красиво php

Так, например

$day = '16'; 
$month = 'nov'; 
$year = '2013'; 

Теперь, если я хочу, чтобы отобразить его как

November 16th 2013 

Я думал, что я должен был бы генерировать метку времени UNIX из моих данных, а затем использовать

date('F jS Y', $timestamp); 

Я не уверен, как правильно генерировать временную метку unix.

ответ

4

Это будет делать то, что вы хотите:

echo date('F jS Y', strtotime("$month $day $year")); 

Ключевая является strtotime() функция, которая будет анализировать строку даты в метку времени для вас.

Рабочий пример: http://3v4l.org/INV8d

3

Следуйте ООП путь, это круто;)

<?php 

$day = '16'; 
$month = 'nov'; 
$year = '2013'; 
$newDate="$day-$month-$year"; 
$date_new = DateTime::createFromFormat('d-M-Y',$newDate); 
echo $newformat=$date_new->format('F dS Y'); //November 16th 2013 
?> 
+0

Это круто и ручки часовых поясов, тоже –