PHP автоматично форматиране на дата

В този пост ще Ви покажа как може автоматично в PHP да форматирате в движение датите показвани във Вашите web страници.
Сигурно Ви се е случвало да получите дата от базата с данни, но не точно във формата в който Ви трябва. Например базата данни Ви връща дата (1981-10-29), а на Вас Ви трябва същата тази дата да бъде представена в сайта в друг формат, например (29 -Nov-1981). Това става много лесно като се използва стандартната за PHP функция date(), със съответните параметри за нея.
Следващия код е за конвертирането в нашият случай:

date(‘d-M-Y’, strtotime($row[‘date’]));

За да може функцията date() да форматира нашата дата ($row[‘date’]) в желания от нас формат, трябва същата тази дата да подадем на друга стандартна функция за PHP strtotime().

strtotime() получава като параметър някаква дата под формата на текст (стринг) и превръща този текст в число, което показва секундите изтекли от 00:00 часа на 01 януари 1970 година до датата която е подадена във функцията.

Функцията date() използва за първи параметър  желания формат под формата на точно подреден стринг с помощта на английски букви. Тук са разделени със знака “-” за по-добра видимост. Всяка една от тези букви казва на date() как точно да подреди изписването на датата. В нашият случай стринга ‘d-M-Y’ казва да се подреди датата като първо се напише деня от месеца с число от две цифри, след това се напише месеца съкратено с букви и накрая се изпише цялата година с число.

Сега ще Ви дам няколко различни примера (за нашата дата) с различни начини на форматиране:

 date(‘Y-M-d’, strtotime(“1981-10-29”));//връща 1981-Nov-29

date(‘D-M-Y’, strtotime(“1981-10-29”));//връща Sun-Nov-1981

date(‘Y-F-D’, strtotime($row[‘date’]));//връща 1981-November-Sun

date(‘d-m-y’, strtotime($row[‘date’]));//връща 29-10-81

Разбира се функцията date() може да се използва и за форматиране на часове и на комбинации от дати и часове. Следващия пример е за комбинирано форматиране на дата и час.

date(‘l jS \of  F Y h:i:s A’,strtotime(“1981-10-29”));//връща Monday 8th of August 2005 00:00:00 PM

Върнатия час е 00:00:00 часа защото не сме задали час в нашия стринг.

За пълното описание на функцията date() и strtotime() може да посетите официалния сайт на PHP.

 

 

One thought on “PHP автоматично форматиране на дата

Leave a Reply

Your email address will not be published. Required fields are marked *