Много често ни се налага да работим с някакви дати и часове.
Тогава на помощ идва date()
функцията, която се използва в нашите PHP скриптове за форматиране на час или дата.
PHP функцията Date()
Използва се за дати и часове, като ги прави по-четими за потребителите и дори и за нас като програмисти. Тази функция приема два параметъра format и timestamp. Първия е задължителен и определя в какъв формат ще се изведе датата. Вторият е опционален като определя датата или часа за форматиране.
Параметър | Описание |
---|---|
format | Задължителен. Определя форматът на зададеното време. |
timestamp | Опционално. Задава специфично време. По подразбиране е настоящото време. |
Видове форматиране на дати
Това са някои от основните видове форматиране за дати.
y
– годинаm
– месецd
– ден от месецаl
– пореден ден от седмицата
За допълнително форматиране, можем да използваме „/“, „-„, „.“ и т.н. Например „d-m-y“ ще изпише датата във вид на „ден-месец-година“. С долния пример форматираме дата по няколко различни начина.
Употреба на датите
Една от добрите практики е да използвате date()
на места където искате датата да се променя в зависимост от месеца, деня или дори годината.
За пример можем да дадем надписите за авторско право, които няма как да не сте виждали: © + настоящата година.
С долния код, можем да автоматизираме това, за да не се налага да го сменяме ръчно всяка година.
Видове форматиране на часове
Основните видове форматиране, които се използват при часовете.
h
– Форматира час с 0 пред по малките от 10 часовеi
– Форматира минути с 0 пред по малките от 10 минутиs
– Форматира секунди с 0 пред по малките от 10 секундиa
– am или pm за 12 часовата форма.
Нещо, което трябва да имате предвив е, че тази PHP функция работи с текущото време на сървъра. Има значение, за коя часова зона е настроен той.
Настройване на часова зона
Често, ако date()
не върне очакваната от вас стойност за текущо време, то най-вероятно причината идва от сървъра ви.
Той може да е в държава в друг часови пояс или просто да е настроен за друга часова зона.
Разбира се, можем да използваме друга вградена в PHP функция, за да го настроим.
С долния код настройваме сървъра ни за часовата зона в New York, USA.
Създаване на дата с mktime()
Ако не подадем timestamp на функцията date()
то тя ще използва времето в момента, в който се изпълнява.
Но ако искаме да използваме функцията по друг начин можем да създадем наш собствен timestamp и да го подадем на date()
като параметър, за да извършим някакво действие с него.
Ето как можем да изпишем дата създадена с mktime()
.
Създаване на дата от стринг с strtotime()
Чрез strtotime()
можем да подадем стринг, който да обработим като дата.
В следващият пример можем да видим точният синтаксис за използване на функцията.
PHP много добре разпознава датите в стрингове, така че можете да му подадете параметрите по много различни начини. Въпреки това проверявайте подаденото от вас спрямо изхода, защото грешки се допускат въпреки всичко. Така е в програмирането :). Поне за сега – вижте повече за machine learning някъде из мрежата.
С този пример можем да принтираме датата на следващите 6 съботи:
А с този пример принтираме броя на дните до четвърти Юли.