Autor Zpráva
Kindy
Profil
Zdravím :).

Odzkoušel jsem si metody StrFTime(parametry,Time()) a Date(parametry,Time()).

StrFTime je super, "jede přesně tak jak má + uznává html tagy pro zalamování, ztučnění...

Ale ta Date()!! Ta mi nějak dala :D.. Tam se také vypisuje všechno v pořádku, ale neuznává html tagy + nepodporuje češtinu.

Zkoušel jsem tam vložit jako u StrFTime --> SetLocale(LC_ALL,"Czech"); - zkoušel jsem to jak s tou metodou SetLocale, tak i bez ní.

Teď se možná nabízí otázka, "tak proč to řešíš, používej metodu StrFTime()".

Jenže dočetl jsem se, že metoda Date() blíže vyhovuje evropským standardům - "převádí vše na evropské standardy".

a) Co si pod tím představit, pod pojmem "evropské standardy"?

b) Jde nějak nastavit u metody Date() čeština?

c) Jakou metodu používáte vy?

Zdravím :)
Fisir
Profil
Reaguji na Kindyho:
Pokud vím, tak ani u StrFTime PHP neskloňuje. Tudíž používám funkci date s vlastním překládáním. HTML tagy jsem nikdy do data vkládat nepotřeboval, vždy jsem to řešil šablonou (pokud bylo třeba obalit zvlášť datum a čas, tak jsem nejdřív použil funkci date, která vypsala datum a poté znovu s časem).
Kindy
Profil
Kindy:

Už jsem na to přišel:

$datumik = Date("H",Time());
echo("hodina: ".$datumik."<br/>");

$datumik = Date("m",Time());
echo("minuta: ".$datumik."<br/>");

$datumik = Date("s",Time());
echo("sekunda: ".$datumik."<br/>");
?>
Prostě Date() nemá rád text uvnitř sebe, takže psát zvlášť text a zvlášť čas nebo datum :)
Tori
Profil
Kindy:
Ale ta Date()!! [...] neuznává html tagy + nepodporuje češtinu.
Ani jedno není pravda. Rozdíl oproti strftime je hlavně v tom, že u strftime začínají všechny formátovací řetězce znakem procenta, kdežto u date se používají samotné znaky. Takže je potřeba escapovat skoro všechno, ale zrovna znaky s diakritikou ne:

echo date('\T\eď \j\e př\e\s\ně <\b>Y-m-d H:i:s</\b>');
Zkoušela jsem to na PHP 5.5.9, možná na nějaké starší verzi se to chová jinak, teď nemůžu testnout.
Jestli jste pod češtinou myslel české zkratky měsíců, zkusto si pohrát se setlocale, a kdyby to nezabralo, tak si dopište pole pro překlad (číslo měsíce jako klíč, název jako hodnota).
Kindy
Profil
Tori:

Jo s těmi anglickými měsíci bych si poradil přes příkaz
switch($prom) { 
case $prvni_mesic: příkazy; break;
.
.

A jak Jste myslela tohle:

kdežto u date se používají samotné znaky. Takže je potřeba escapovat skoro všechno, ale zrovna znaky s diakritikou ne.

Jak poznáte co a kde escapovat? Nerozumím, jsem asi na nižším levelu :D
Tori
Profil
Jak poznáte co a kde escapovat?
Kouknu se do manuálu k date. Když chci zobrazit písmeno H, napíšu date('\H'), když aktuální hodinu tak date('H').
Kindy
Profil
Tori:

Děkuji :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0