(PHP 4, PHP 5)
strftime — Sformátovať miestny čas/dátum podľa miestnych nastavení
Vracia reťazec sformátovaný podľa daného formátovacieho reťazca pomocou daného timestamp u alebo aktuálneho miestneho času, ak nie je daný žiadny timestamp. Názvy mesiacov a dní v týždni a reťazce iných jazykových závislosti berú ohľad na aktuálne miestne nastavenie s setlocale().
Následujúce konverzné špecifikátory sa rozpoznávajú vo formátovacom reťazci:
Sun Solaris začína s Nedeľou ako 1, i keď ISO 9889:1999 (aktuálny C štandard) jasne určuje, že by to mal byť Pondelok.
Note: Vaša C knižnica nemusí podporovať všetky konverzné špecifikátory; v takom prípade nebudú podporované PHP funkciou strftime(). To znamená, že napr. %e, %T, %R a %D (môže ich byť viac) nebudú na Windowse fungovať.
Example#1 strftime() príklady lokáls
<?php
setlocale (LC_TIME, "C");
print (strftime ("%A vo finstine je "));
setlocale (LC_TIME, "fi_FI");
print (strftime ("%A, vo francuzstine "));
setlocale (LC_TIME, "fr_FR");
print (strftime ("%A a v nemcine "));
setlocale (LC_TIME, "de_DE");
print (strftime ("%A.\n"));
?>
Note: %G a %V, ktoré sú založené na ISO 8601:1988 číslach týždňov, môžu podať neočakávané výsledky, ak nie je číselný systém správne chápaný. Pozri %V vyššie a príklad uvedený nižšie.
Example#2 Príklad číslovania týždňov ISO 8601:1988
<?php
/* December 2002 / Januar 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 */
// Vypise: 12/28/2002 - %V,%G,%Y = 52,2002,2002
print "12/28/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/28/2002")) . "\n";
// Vypise: 12/30/2002 - %V,%G,%Y = 1,2003,2002
print "12/30/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/30/2002")) . "\n";
// Vypise: 1/3/2003 - %V,%G,%Y = 1,2003,2003
print "1/3/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2003")) . "\n";
// Vypise: 1/10/2003 - %V,%G,%Y = 2,2003,2003
print "1/10/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/10/2003")) . "\n";
/* December 2004 / Januar 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 */
// Vypise: 12/23/2004 - %V,%G,%Y = 52,2004,2004
print "12/23/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/23/2004")) . "\n";
// Vypise: 12/31/2004 - %V,%G,%Y = 53,2004,2004
print "12/31/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/31/2004")) . "\n";
// Vypise: 1/2/2005 - %V,%G,%Y = 53,2004,2005
print "1/2/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/2/2005")) . "\n";
// Vypise: 1/3/2005 - %V,%G,%Y = 1,2005,2005
print "1/3/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2005")) . "\n";
?>
Tiež pozri setlocale() a mktime() and the » Open Group špecifikácia o strftime().