Dátum/idő
PHP Manual

strftime

(PHP 4, PHP 5)

strftime — Helyi időstringet formáz a megadott formátum (és időpont) szerint

Leírás

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

A megadott formátumstringnek megfelelően formázott dátum-stringgel tér vissza, felhasználva a megadott timestamp paramétert, vagy ennek hiányában a helyi időt. Hónap, és napnevek, továbbá más nyelvfüggő stringek az setlocale() függvénnyel beállított értékeknek felelnek meg.

Az alábbi formátumstringeket ismeri fel a függvény:

Note: Nem minden formátumstring van meg az összes C könyvtárban, ami azt jelenti, hogy a PHP strftime() függvényében sem lesznek elérhetők. Ráadásul nem minden platform támogatja a negatív időbélyegeket, ezért a előfordulhat, hogy nem használhatsz Unix Epoch előtti dátumot. Ez azt jelenti, hogy például a %e, %T, %R és a %D (esetleg egyebek is) nem fog működni 1970. január 1. előtti dátummal Windows-on, néhány Linux disztribűcióban, és még néhány egyéb operációs rendszeren. A Windows rendszerekre vonatkozóan a a támogatott konverzió leírókról található egy teljes áttekintés az » MSDN weboldalon.

Example#1 strftime() példa

<?php
setlocale
(LC_TIME"C");
echo 
strftime("%A");
setlocale(LC_TIME"fi_FI");
echo 
strftime(" finnül %A,");
setlocale(LC_TIME"fr_FR");
echo 
strftime(" franciául %A és ");
setlocale(LC_TIME"hu_HU");
echo 
strftime(" magyarul %A\n");
?>
Ez a példa akkor működik jól, ha a megfelelő locales beállításokat installálod.

Note: A %G és %V, amelyek az ISO 8601:1988 hétszámokra alapulnak, nem az elvárt (de a helyes) eredményt adják, ha nem értetted meg alaposan a számozási rendszert. Lásd a fenti %V-t valamint az alábbi példát week numbers can give unexpected (albeit correct) results if the numbering system is not thoroughly understood. See %V above and example below.

Example#2 ISO 8601:1988 hétszámozási példa

<?php
/*     December 2002 / January 2003
ISOWk  M   Tu  W   Thu F   Sa  Su
----- ----------------------------
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   */

// Kimenet: 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";

// Kimenet: 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";

// Kimenet: 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";

// Kimenet: 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";



/*     December 2004 / January 2005
ISOWk  M   Tu  W   Thu F   Sa  Su
----- ----------------------------
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   */

// Kimenet: 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";

// Kimenet: 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";

// Kimenet: 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";

// Kimenet: 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";

?>

Lásd még setlocale() és mktime(), strptime() és az » Open Group specification of strftime()() függvényeket.


Dátum/idő
PHP Manual