Функции за дата и час
PHP Manual

strftime

(PHP 4, PHP 5)

strftime Форматира местно време и дата съгласно локала

Описание

string strftime ( string $format [, int $ timestamp ] )

Връща низ, форматиран съгласно подадения форматиращ низ, за даден timestamp или текущото време, ако времеви отпечатък не е подаден. Имената на месеците и дните от седмицата, както и другите езиково зависими низове, използват текущо зададения локал със setlocale().

Следните спецификатори за преобразуване се разпознават във форматиращия низ:

Забележка: Възможно е не всичи преобразувателни спецификатори да се поддържат от вашата C бибилиотека и в този случай те няма да се поддържат от PHP функцията strftime(). Освен това, не всички платформи поддържат отрицателни времеви отпечатъци и затова вашата област от дати може да бъде ограничена до не по-рано от Unix епохата. Това означава, че %e, %T, %R и %D (възможно е да има и още) и дати преди 1 януари 1970 няма да работят на Windows, някои Linux дистрибуции, и няколко други операционни системи. Пълно описание на поддържаните преобразувателни спецификатори за Windows системи може да бъде намерено на този » MSDN сайт.

Example #1 Примери за strftime()

<?php
setlocale
(LC_TIME"C");
echo 
strftime("%A");
setlocale(LC_TIME"fi_FI");
echo 
strftime(" in Finnish is %A,");
setlocale(LC_TIME"fr_FR");
echo 
strftime(" in French %A and");
setlocale(LC_TIME"de_DE");
echo 
strftime(" in German %A.\n");
?>

Този пример работи ако имате съответния локал инсталиран на вашата система.

Забележка: %G и %V, които се базират на номера на седмицата по ISO 8601:1988 може да дадат неочакван (но правилен) резултат ако бройната система не е добре разбрана. Вижте %V горе и примера по-долу.

Example #2 Пример за номер на седмицата по ISO 8601:1988

<?php
/*     Декември 2002 / Януари 2003
ISOWk  П   В   С   Ч   П   С   Н
----- ----------------------------
51     16  17  18  19  20  21  22 
52     23  24  25  26  27  28  29
1      30  31   1   2   3   4   5
2       6   7   8   9  10  11  12
3      13  14  15  16  17  18  19   */

// Извежда: 12/28/2002 - %V,%G,%Y = 52,2002,2002
echo "12/28/2002 - %V,%G,%Y = " strftime("%V,%G,%Y"strtotime("12/28/2002")) . "\n";

// Извежда: 12/30/2002 - %V,%G,%Y = 1,2003,2002
echo "12/30/2002 - %V,%G,%Y = " strftime("%V,%G,%Y"strtotime("12/30/2002")) . "\n";

// Извежда: 1/3/2003 - %V,%G,%Y = 1,2003,2003
echo "1/3/2003 - %V,%G,%Y = " strftime("%V,%G,%Y",strtotime("1/3/2003")) . "\n";

// Извежда: 1/10/2003 - %V,%G,%Y = 2,2003,2003
echo "1/10/2003 - %V,%G,%Y = " strftime("%V,%G,%Y",strtotime("1/10/2003")) . "\n";



/*     Декември 2004 / Януари 2005
ISOWk  П   В   С   Ч   П   С   Н
----- ----------------------------
51     13  14  15  16  17  18  19
52     20  21  22  23  24  25  26
53     27  28  29  30  31   1   2
1       3   4   5   6   7   8   9
2      10  11  12  13  14  15  16   */

// Извежда: 12/23/2004 - %V,%G,%Y = 52,2004,2004
echo "12/23/2004 - %V,%G,%Y = " strftime("%V,%G,%Y",strtotime("12/23/2004")) . "\n";

// Извежда: 12/31/2004 - %V,%G,%Y = 53,2004,2004
echo "12/31/2004 - %V,%G,%Y = " strftime("%V,%G,%Y",strtotime("12/31/2004")) . "\n";

// Извежда: 1/2/2005 - %V,%G,%Y = 53,2004,2005
echo "1/2/2005 - %V,%G,%Y = " strftime("%V,%G,%Y",strtotime("1/2/2005")) . "\n";

// Извежда: 1/3/2005 - %V,%G,%Y = 1,2005,2005
echo "1/3/2005 - %V,%G,%Y = " strftime("%V,%G,%Y",strtotime("1/3/2005")) . "\n";

?>

Вж. също setlocale(), mktime() и Open Group спецификацията на » strftime().


Функции за дата и час
PHP Manual