(PHP 4, PHP 5)
strftime — Helyi időstringet formáz a megadott formátum (és időpont) szerint
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:
Úgy tűnik, hogy Sun Solarison a vasárnap az 1-es, holott az ISO 9889:1999 (az aktuális C standard) világosan megmondja, hogy hétfőnek kell lennie.
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");
?>
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.