Názory ke článku Čeština v názvech měsíců ve funkci date()
Zajímavé, nicméně doporučuji používat kombinaci set_locale, strftime, mktime.
Clanok je "zaujimavy", nikdy by ma to nepadlo tak riesit.
tu mate moje riesenie, mate tam naviac aj den v tyzdni...
<?php
function skdatum() { // toto pouzijes niekde na zaciatku stranky
$dnivtyzdni = array("Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota");
$mesiacevroku = array("", "január", "február", "marec", "apríl", "máj", "jún", "júl", "august", "september", "október", "november", "december");
return "".$dnivtyzdni[date("w")].", ".date("j").".".$mesiacevroku[date("n")]." ".date("Y")."";
}
echo "Dnes je ".skdatum().""; // toto pouzijes hocikde na stranke
?>
Tak si říkám, nebylo by lepší, místo nahrazování jména jménem, si nechat vrátit fcí date() číselnou reprezentaci měsíce a tu potom použít jako klíč pole s námi definovanými měsíci? Příjde mi to jako takové "čistější" řešení...
Reagoval na komentář od uživatele bradley :
Programování je exaktní věda, ani tvůj postup není špatný. K jednomu cíly vede více řešení. :smile2:
bradley píše:
Tak si říkám, nebylo by lepší, místo nahrazování jména jménem, si nechat vrátit fcí date() číselnou reprezentaci měsíce a tu potom použít jako klíč pole s námi definovanými měsíci? Příjde mi to jako takové "čistější" řešení...
hmmm... nieze by to uz niekto pred tebou napisal... ale asi nie vsetci najprv citaju a potom diskutuju :smile5:
Reagoval na komentář od uživatele netman92 :
Snazsi, jednodussi a kdykoliv bez problemu upravis zmenou locales do jineho jazyka.
nejvice bych preferoval neco ve stylu:
function datum($format, $timestamp = null) {
static $en = array("January", "...");
static $cs = array("ledna", "...");
if (is_null($timestamp)) $timestamp = time();
$ret = date($format, $timestamp);
$ret = str_replace($en, $cs, $ret);
return $ret;
}
25. 6. 2008
Najlepšia možnosť: set_locale
Druhá najlepšia: $mesiacevroku[date("n")](prípadne $month[$lang][date("n", $timestamp)])
Prekladanie pomocou str_replace je zbytočné...
27. 6. 2008
function datum(){
$arr = array(1=>'Leden','Únor','Březen','Duben','Květen','Červen','Červenec','Srpen','Září','Říjen','Listopad','Prosinec');
return date('j').".".$arr[date('n')]." ".date('Y');
}
13. 7. 2008
Potřeboval bych pomoct se zabudováním kódu do redakčního systému WebSpell (http://cms.webspell.org/), který v kalendáři (calendar.php) vypisuje anglicky měsíce a vadí mi to, jelikož už jsem si celý WebSpell počeštil, ale jenom toto mi nešlo...
Zdrojový kód calendar.php jsem nahrál na Pastbin: http://www.pastebin.cz/show/6764
Děkuji za případnou pomoc
21. 7. 2008
Reagoval na komentář od uživatele toka :
Presne tak, postup popisovany v tomto clanku je velmi ubohy. Vysekat si casti z date() a porovnavat je by, myslim si, napadlo snad jen uplneho zacatecnika.