(PHP 4, PHP 5)
date — Форматира местно време/дата
Връща низ, форматиран съгласно посочения форматиращ низ, използвайки дадения целочислен timestamp или текущото местно време, ако не е подаден timestamp (момент във времето). С други думи, timestamp е незадължителен и по подразбиране има стойността, връщана от time().
Формата на низа за дата, който ще се извежда. Вижте опциите за форматиране по-долу.
format символ | Описание | Примерни връщани стойности |
---|---|---|
Ден | --- | --- |
d | Ден от месеца, 2 цифри с водещи нули | От 01 до 31 |
D | Текстово представяне на ден, три букви | От Mon до Sun |
j | Ден от месеца без водещи нули | 1 to 31 |
l (малко 'L') | Пълно текстово представяне на деня от седмицата | От Sunday до Saturday |
N | ISO-8601 цифрово представяне на деня от седмицата (добавено в PHP 5.1.0) | от 1 (за Monday) до 7 (за Sunday) |
S | Английско редно окончание за деня от месеца, 2 символа | st, nd, rd или th. Подхожда си с j |
w | Цифрово представяне на деня от седмицата | От 0 (за неделя) до 6 (за събота) |
z | Денят в годината (започвайки от 0) | От 0 до 365 |
Седмица | --- | --- |
W | ISO-8601 пореден номер на седмица в годината, седмиците започват в понеделник (добавено в PHP 4.1.0) | Пример: 42 (42-рата седмица в годината) |
Месец | --- | --- |
F | Пълно текстово представяне на месец, като January или March | От January до December |
L | Дали годината е високосна | От 1 ако е високосна година, 0 иначе. |
m | Цифрово представяне на месец, с водещи нули | От 01 до 12 |
M | Кратко текстово представяне на месец, три букви | От Jan до Dec |
n | Цифрово представяне на месец, без водещи нули | От 1 до 12 |
t | Брой на дните в даден месец | От 28 до 31 |
Година | --- | --- |
L | Дали годината е високосна | От 1 ако е високосна година, 0 иначе. |
o | Година съгласно ISO-8601. Има същата стойност като Y, с тази разлика, че ако номера на седмицата съгласно ISO (W) принадлежи на предишната или следващата година, вместо нея се използва тази година. (добавено в PHP 5.1.0) | Примери: 1999 или 2003 |
Y | Пълно цифрово представяне на година, 4 цифри | Примери: 1999 или 2003 |
y | Двуцифрено представяне на година | Примери: 99 или 03 |
Време | --- | --- |
a | Малки букви Ante meridiem (преди пладне) и Post meridiem (след пладне) | От am или pm |
A | Главни букви Ante meridiem (преди пладне) и Post meridiem (след пладне) | От AM или PM |
B | Swatch Internet време | От 000 до 999 |
g | 12-часов формат на час без водещи нули | От 1 до 12 |
G | 24-часов формат на час без водещи нули | От 0 до 23 |
h | 12-часов формат на час с водещи нули | От 01 до 12 |
H | 24-часов формат на час с водещи нули | От 00 до 23 |
i | Минути с водещи нули | От 00 до 59 |
s | Секунди, с водещи нули | От 00 до 59 |
u | Милисекунди (добавено в PHP 5.2.2) | Пример: 54321 |
Часова зона | --- | --- |
e | Идентификатор на часовата зона (добавено в PHP 5.1.0) | Примери: UTC, GMT, Atlantic/Azores |
I (главно i) | Дали датата е по лятно часово време (daylights savings time) | 1 ако е по лятно време, 0 - по зимно. |
O | Разлика от гринуичкото време (GMT) в часове | Пример: +0200 |
P | Разликата от времето по Гринуич (GMT) с двоеточиеwith между часовете и минутите (добавено в PHP 5.1.3) | Пример: +02:00 |
T | Съкращение на часовата зона | Примери: EST, MDT ... |
Z | Отместване на часовата зона в секунди. Отместването за часови зони на запад от Гринуич (UTC) е винаги отрицателно, а за тези на изток от Гринуич (UTC) е винаги положително. | От -43200 до 43200 |
Пълни дата/час | --- | --- |
c | ISO 8601 дата (добавено в PHP 5) | 2004-02-12T15:19:21+00:00 |
r | » RFC 2822 форматирана дата | Пример: Thu, 21 Dec 2000 16:01:07 +0200 |
U | Секунди от Unix Епохата (1 януари 1970 00:00:00 GMT) | Вж. също time() |
Непознатите знаци във форматиращия низ ще бъдат отпечатани едно към едно. Форматът Z ще връща винаги 0, когато бъде използван посредством gmdate().
Забележка: Тъй като тази функция приема единствено целочислени времеви отпечатъци, форматиращият знак u е полезен единствено при използване на функцията date_format() с потребителски-базиран времеви отпечатък, създаден с date_create().
Незадължителният параметър timestamp е целочислен Unix timestamp, чиято стойност по подразбиране е текущото локално време. С други думи, стойността му по подразбиране е стойността върната от функция time().
Връща форматиран низ за дата. Ако за timestamp не се използва цифрова стойност, се връща FALSE и се генерира грешка от ниво E_WARNING.
Всяко извикване на функция за дата и час ще генерира E_NOTICE , ако часовият пояс не е валиден, и/или E_STRICT съобщение ако се използват настройките на системата или променливата на обкръжението TZ. Вж. също date_default_timezone_set()
Версия | Описание |
---|---|
5.1.0 | Валидните стойности за timestamp са обикновено от Fri, 13 Dec 1901 20:45:54 GMT до Tue, 19 Jan 2038 03:14:07 GMT. (Това са датите, които отговарят на минималните и максималните стойности за 32 битово цяло число със знак). Преди PHP 5.1.0, при някои системи (като Windows), този обхват беше ограничен от 01-01-1970 до 19-01-2038. |
5.1.0 | Вече генерира E_STRICT и E_NOTICE грешки за часовият пояс. |
5.1.1 | Съществуват няколко полезни константи за стандартни формати за дата и час, които могат да се използват за указване на параметъра format . |
Example #1 Примери за date()
<?php
// установяне на стойността по подразбиране за часовата зона. Достъпно от PHP 5.1
date_default_timezone_set('UTC');
// Извежда нещо подобно на: Monday
echo date("l");
// Извежда нещо подобно на: Monday 8th of August 2005 03:12:46 PM
echo date('l jS \of F Y h:i:s A');
// Извежда: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));
/* употреба на константи при параметъра за форматиране */
// извежда нещо подобно на: Mon, 15 Aug 2005 15:12:46 UTC
echo date(DATE_RFC822);
// извежда нещо подобно на: 2000-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
?>
Можете да предотвратите разпознаването на някой от приетите символи във форматиращия низ, избягвайки го с обратно наклонена черта пред него. Ако символът с обратно наклонена черта е специална последователност, може би ще трябва да избегнете и наклонената черта.
Example #2 Избягване на символи в date()
<?php
// prints something like: Wednesday the 15th
echo date("l \\t\h\e jS");
?>
Възможно е да използвате date() и mktime() заедно, за да намирате дати в бъдещето или в миналото.
Example #3 Пример за date() и mktime()
<?php
$tomorrow = mktime(0, 0, 0, date("m") , date("d")+1, date("Y"));
$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"), date("Y"));
$nextyear = mktime(0, 0, 0, date("m"), date("d"), date("Y")+1);
?>
Забележка: Това може да бъде по-благонадеждно, отколкото простото добавяне или изваждане на броя секунди за деня или месеца, поради лятното часово време (daylight savings time).
Някои примери за форматиране на date(). Обърнете внимание на това, че трябва да избягвате всички останали символи, тъй като всички, които в момента имат специално значение, ще доведат до нежелани резултати, а на всички останали може да бъде присвоено значение в бъдещи версии на PHP. При избягване, бъдете сигурни, че използвате единични кавички, за да предотвратите символи като \n да се превръщат в нови редове.
Example #4 Форматиране на date()
<?php
// Да предположим, че днес е: March 10th, 2001, 5:16:18 pm
$today = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm
$today = date("m.d.y"); // 03.10.01
$today = date("j, n, Y"); // 10, 3, 2001
$today = date("Ymd"); // 20010310
$today = date('h-i-s, j-m-y, it is w Day z '); // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // It is the 10th day.
$today = date("D M j G:i:s T Y"); // Sat Mar 10 15:16:08 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:17 m is month
$today = date("H:i:s"); // 17:16:17
?>
За да форматирате дати на други езици, трябва да използвате функциите setlocale() и strftime() вместо date().
Забележка: За да генерирате timestamp на базта на низово представяне на дата, може да използвате функция strtotime(). Освен това, някои бази от данни притежават функции за преобразуване на собствените формати за дати към timestamp (като функция » UNIX_TIMESTAMP при MySQL).
Timestamp стойността на началото на заявката към сървъра е достъпна чрез $_SERVER['REQUEST_TIME'] от PHP 5.1.