Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: PHP - České datum

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

Aktivity (1)
Avatar
oggymotslp
Člen
Avatar
oggymotslp:5.6.2016 13:32

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.6.2016 13:32
Odpovědět 5.6.2016 13:32
Proč to dělat jednoduše, když to jde i složitě :D
Avatar
Odpovídá na oggymotslp
Dominik Gavrecký:5.6.2016 13:47
<?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.6.2016 13:48
Nahoru Odpovědět 5.6.2016 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):5.6.2016 14:00

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.6.2016 14:00
Nesnáším, když někdo u if nepoužívá {}, byť se jedná o jeden řádek.
Avatar
Martin Štěpánek (Enormyk):5.6.2016 14:07

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.6.2016 14:07
Nesnáším, když někdo u if nepoužívá {}, byť se jedná o jeden řádek.
Avatar
oggymotslp
Člen
Avatar
oggymotslp:5.6.2016 17:47
$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.6.2016 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):10.6.2016 14:15
$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.6.2016 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.