Facebook выводит даты в формате ISO8601 – например: 2011-09-02T18: 00: 00
Используя PHP, как я могу переформатировать что-то вроде: пятница, 2 сентября 2011 года в 18:00
Nb – я делал это в Javascript, но у IE есть ошибки даты, поэтому я хочу использовать кросс-браузер.
Быстрое, но иногда ненадежное решение:
$date = '2011-09-02T18:00:00'; $time = strtotime($date); $fixed = date('l, F jS Y \a\tg:ia', $time); // 'a' and 't' are escaped as they are a format char.
Форматируйте символы, подробно описанные здесь .
strtotime('2012-01-18T11:45:00+01:00'); // Output : 1326883500
date_format(date_timestamp_set(new DateTime(), 1326883500), 'c'); // Output : 2012-01-18T11:45:00+01:00
date_format(date_create('@'. 1326883500), 'c') . "\n"; // Output : 2012-01-18T10:45:00+00:00
date_format(date_timestamp_set(new DateTime(), 1326883500)->setTimezone(new DateTimeZone('America/New_York')), 'c'); // Output : 2012-01-18T05:45:00-05:00