2013-06-17 2 views
0

У меня есть поле даты в моей базе данных. формат даты следующим образом.преобразование даты в RFC-822

June 17, 2013 

Im используя формат как

date("F j, Y"); 

Так что мой вопрос, есть ли способ, что я могу отобразить эту дату в RFC-822 формате с использованием PHP? или мне нужно начать сохранять дату в формате RFC-822? Заранее спасибо.

+4

Почему бы вам не сохранить даты, такие как ... даты? I.e., измените поле БД на тип даты и сохраните себя от преобразований. Существующие значения могут быть легко проанализированы в «настоящие» даты. – jensgram

+0

Какой у вас тип поля? – sectus

ответ

3

Ни.

Отныне вы должны начать использовать format supplied by database.
Вы должны понимать разницу между форматом хранения и форматированием отображения. Это разные вещи. При хранении данных в mysql вы должны следовать правилам mysql. Итак, вместо June 17, 2013 вам необходимо сохранить 2013-06-17.

И затем конвертировать на выходе в любой формат - не ограничиваясь одним, но любой формат требуется по назначению.

+0

Большое спасибо за ответ. Теперь я начну хранить таким образом. – maxlk

0

Используя следующий синтаксис, вы можете отображать текущее время в формате RFC822.

$date = new DateTime('2000-01-01'); 
echo $date->format(DateTime::RFC822); 
2

Как вы указали, лучше всего изменить способ хранения ваших дат на нечто иное, чем на строку. date("Y-m-d", strtotime($date)) может помочь вам в этом начинании.

Но для решения неотложной необходимости вы можете использовать strtotime, дату и постоянную DATE_RFC822, чтобы получить то, что вы ищете.

echo date(DATE_RFC822, strtotime($value)); 

См Первый пример на php date documentation

0

date_format (дата (ваше поле базы данных), '% D,% J% M% т')

и какой тип формата вы хотите просто увидеть ссылку date and time format for Mysql

0

Вы можете сохранить его в TimeStamp в базе данных и показать не RFC822 Отформатируйте

date(DATE_RFC822, time()); 
1

ни один из других ответов работали для меня, так это то, что работает ... взять дату в PHP и вывода его в RFC822:

date("D, d M Y G:i:s T", strtotime($date)); 

Надежды, которые помогают другим.

+0

Feed не будет [подтверждать] (https://www.feedvalidator.org/), пока я не подкорректировал ваш пример в соответствии с [php.net] (http://php.net/manual/en/class.datetime.php): 'date (' D, d MYH: i: s O ', strtotime ($ date))' – ashleedawg