Autor Zpráva
luma64
Profil
Z javascriptu volam php stranku s parametrom datumu. Prisiel som na tom, ze:
IE prebera format - http://localhost/wdcalendar.nam/novaoperacia.php?start=Thu Jun 20 21:00:00 UTC+0200 2013
Mozilla prebera format - http://localhost/wdcalendar.nam/novaoperacia.php?start=Thu%20Jun%2020%202013%2018:30:00%20GMT+0200%20%28Central%20Europe%20Standard%20Time%29

Po zobrazeni sa mi vypise v
IE : Tue Jun 18 19:00:00 UTC 0200 2013
Mozille : Thu Jun 20 2013 18:30:00 GMT 0200 (Central Europe Standard Time)

Ked chcem potom datum roztrhat a zlozit ho vo formate Y-m-d samozrejme, ze to je rozne. Spravne sa to zobrazi v Mozille.
luma64
Profil
Mozno som mal dat v #1 este otazku. Takto to skutocne vyzera ako konstatovanie. No a mrzelo by ma, keby som nemohol v tomto fore fungovat.
Joker
Profil
luma64:
Mozno som mal dat v #1 este otazku.
To rozhodně. Budiž to poučení pro příště.
A jak tedy zní otázka?
luma64
Profil
No otazka je/bola, preco sa mi zobrazi v browseroch ten isty datum ale v roznych formatoch. Preco je to tak ? Ja s nim dalej pracujem a podla ziskanych znakov si vyskladam datum. No kedze ide o rozny format zobrazuje sa mi v jednom z browseroch namiesto datumu blud. Takze som to vyriesil tak, ze si zistim aky je browser a podla toho spracujem datumovy parameter. Ten sa mi sem prenesie z js.
Moje riesenie (chodive):
function browser_datum($start, $den_datum, $month_string, $rok)
{

//upravenie datumu podla typu browsera
if (strpos($_SERVER['HTTP_USER_AGENT'], '(compatible; MSIE ')!==FALSE)
{
    //$browser je IE
    // dostavam format Fri Jun 21 05:00:00 UTC+0200 2013
    
    $month_string=substr(trim($start),4,3);
    $month_string = strtoupper($month_string);
    $den_datum=substr(trim($start),8,2);
    $dlzka_rok = strlen($start);
    $rok=substr($start,$dlzka_rok-4,4);
}
else
{
    //$browser je MOZILLA
    // dostavam format Mon Jun 17 2013 13:00:00 GMT+0200 (Central Europe Standard Time)
    $month_string=substr(trim($start),4,3);
    $month_string = strtoupper($month_string);
    $den_datum=substr(trim($start),8,2);
    $dlzka_rok = strlen($start);
    $rok=substr($start,11,4);
}

return array($start, $den_datum, $month_string, $rok);

}
_es
Profil
luma64:
Prečo vôbec v tomto prípade v PHP zisťuješ, o aký prehliadač ide?

Názov vlákna postráda zmysel. Aké posielanie „z JS do prehliadačov“? Veď JS beží v prehliadači. Posielanie ako? Aký je ten JS kód?
luma64
Profil
Pouzil som kody z free aplikacie wdcalendar. Neviem ci ma vyznam posielat cely subor s js funkciami, ma 132 kb. Ja som tam vlozil iba prikaz:

var str='novaoperacia.php?start='+start , pricom v premennej start je ulozeny datum

V zavolanej php stranke sa v roznych browseroch zobrazi ten isty datum s roznym formatom, t.j. inak sa zobrazi v IE a inak v Mozille:

/$browser je IE , dostavam datum v tvare :  
// dostavam format Fri Jun 21 05:00:00 UTC+0200 2013

reso.

//$browser je MOZILLA , dostavam datum v tvare :  
Fri Jun 21 2013 05:00:00 GMT+0200 (Central Europe Standard Time)
_es
Profil
luma64:
pricom v premennej start je ulozeny datum
„Uložený“ ako? Čo konkrétne je v tej premennej?

Pouzil som kody z free aplikacie wdcalendar.
Tá aplikácia snáď asi umožňuje rôzne formáty zobrazenia času. Prečo si to nepozrieš v jej návodoch?
luma64
Profil
V navodoch nie je zmienka o formate/och datumu. Ale ako som uz napisal vyssie v #7 mam to vyriesene.

Ale teraz mi povedzte, uz mam strach napisat nieco o tom, ze sa mi nieco neodosle z jednej php stranky do dalsej, opat na to zalozit vlakno! Pytam sa uplne vazne. Uz to nie je o ziadnom datume!
_es
Profil
luma64:
Založ vlákien koľko treba, no tak, aby dávali zmysel. Lebo z [#1] by naozaj nikto nepochopil, že máš problém s nejakým jQuery pluginom. A celkovo to nejako nedáva zmysel. Prečo každý prehliadač „preberá“ iný formát? Prečo nenačítavajú všetky prehliadače to isté? S dátumom netreba v PHP ani v JS pracovať v takom tvare, možno s ním pracovať ako s číslom - napríklad ako tu.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0