strftime

(PHP 3, PHP 4 , PHP 5)

strftime --  Sformátovať miestny čas/dátum podľa miestnych nastavení

Popis

string strftime ( string format [, int timestamp])

Vracia reťazec sformátovaný podľa daného formátovacieho reťazca pomocou daného timestampu 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:

Poznámka: 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ť.

Príklad 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"));
?>
Tento príklad funguje iba ak máte patričné lokály vo vašom systéme naištalované.

Poznámka: %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.

Príklad 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().