Diskuze: PHP - České datum

PHP PHP PHP - České datum American English version English version

Avatar
oggymotslp
Člen
Avatar
oggymotslp:

Zdravím,

mám problém. Pracuji na datech, aby to vypsalo měsíce česky. To funguje, ale když tam je červen, tak to píše �ERVEN. A fontem, ani kódováním UTF-8 to není. Když to Č napíšu zvlášť, tak to funguje. Takže problém bude někde v nastavení těch měsících..

Používám

<?php
SetLocale(LC_ALL, "Czech");

$month = StrFTime("%B", strtotime($clanek['news_date']));
?>

Pokud by někdo věděl jak to opravit, tak bych byl moc rád :)

Editováno 5. června 13:32
Odpovědět 5. června 13:32
Proč to dělat jednoduše, když to jde i složitě :D
Avatar
Odpovídá na oggymotslp
Dominik Gavrecký:
<?php
SetLocale(LC_ALL, "Czech");
$datum = StrFTime("%d/%c/%Y %H:%M:%S %z %B", Time());
echo($datum);
?>

Chyba teda bude niekde tu

$clanek['news_date']
Editováno 5. června 13:48
Nahoru Odpovědět 5. června 13:47
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
Martin Štěpánek (Enormyk):

Nevyřešilo by tvůj problém toto? :-)

$mesice = array('Leden', 'Únor', 'Březen', 'Duben', 'Květen', 'Červen', 'Červenec', 'Srpen', 'Září', 'Říjen', 'Listopad', 'Prosinec');
$mesic = StrFTime("%m", Time())+1;
echo($mesice[$mesic]);
Nahoru Odpovědět  +1 5. června 14:00
Nesnáším, když někdo u if nepoužívá {}, byť se jedná o jeden řádek.
Avatar
Martin Štěpánek (Enormyk):

EDIT:

$mesic = StrFTime("%m", Time())-1;

Má tam být mínus, protože ti to vrací měsíce od 1, ale pole se počítá od 0. :-)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 5. června 14:07
Nesnáším, když někdo u if nepoužívá {}, byť se jedná o jeden řádek.
Avatar
oggymotslp
Člen
Avatar
oggymotslp:
$clanek['news_date']

Je pouze datum zapsané 29-05-2016.

$mesice = array('Leden', 'Únor', 'Březen', 'Duben', 'Květen', 'Červen', 'Červenec', 'Srpen', 'Září', 'Říjen', 'Listopad', 'Prosinec');
$mesic = StrFTime("%m", Time())+1;
echo($mesice[$mesic]);

Nevyřešilo, protože dělám na systému článků, a chci, aby to napsalo datum vytvoření ve formátu: 29. Červen 2016. A když jsem tam zkoušel dosadit: $clanek['news_da­te'], tak to nefunguje..

Nahoru Odpovědět 5. června 17:47
Proč to dělat jednoduše, když to jde i složitě :D
Avatar
Odpovídá na oggymotslp
Martin Štěpánek (Enormyk):
$datum = explode('-', $clanek['news_date']);

$mesice = array('Leden', 'Únor', 'Březen', 'Duben', 'Květen', 'Červen', 'Červenec', 'Srpen', 'Září', 'Říjen', 'Listopad', 'Prosinec');
$mesic = StrFTime("%m", $datum[1])-1;

echo($datum[0].'. '.$mesice[$mesic].' '.$datum[2]);
  • snad to funguje, nezkoušel jsem to :-)

Popřípadě bych ti doporučil použít zdejší knihovnu pro práci s datem: http://www.itnetwork.cz/…-datum-a-cas
:-)

Nahoru Odpovědět 10. června 14:15
Nesnáším, když někdo u if nepoužívá {}, byť se jedná o jeden řádek.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.