Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Javascript, Opera + skrypt do wyświetlania daty
revyag
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Witam.
To mój pierwszy post więc proszę o wyrozumiałość jeśli robie coś nie tak smile.gif .
Mam prosty skrypt wyświtlający datę na stronie:
Kod
function write_time(){
    days = new Array("Niedziela","Poniedziałek", Wtorek", "Środa","Czwartek","Piątek","Sobota");
    months = new Array ("Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec", "Lipiec", "Sierpień","Wrzesień","Październik","Listopad","Grudzień");

    var mydate = new Date();
    var year = mydate.getYear();
    if (year < 2000)
    {
        if (document.all) year = "19" + year;
        else  year += 1900;
    }

    var day = mydate.getDay();
    var month = mydate.getMonth();
    var daym = mydate.getDate();

    if (daym < 10) daym = "0" + daym;
    document.write(days[day],",",daym," ",months[month]," ",year);
}

Problem pojawia się przy wyświetleniu daty w operze. Niepoprawnie podawany jest rok, wyswietla mi dziwoloąga w stylu : 19104.
Pod IE i Mozillą wszystko jest ok.
Wiem ze można stosować wykrywanie przeglądarki itp. ale może robię jakiś bląd w kodzie.
Pozdrawiam.

UPDATE.
Problem okazal sie tak blachy że następnym razem puknę sie 3 razy w czoło zanim coś napisze smile.gif.
Jak mowiłem problem był tylko pod operą, no i po małej modyfikacji kodu wszystko hula.
Kod
function write_time(){
    days = new Array("Niedziela","Poniedziałek", Wtorek", "Środa","Czwartek","Piątek","Sobota");
    months = new Array ("Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec", "Lipiec", "Sierpień","Wrzesień","Październik","Listopad","Grudzień");

    var mydate = new Date();
    var year = mydate.getYear();
    
   if (year < 2000) year += 1900;
    
    var day = mydate.getDay();
    var month = mydate.getMonth();
    var daym = mydate.getDate();

    if (daym < 10) daym = "0" + daym;
    document.write(days[day],",",daym," ",months[month]," ",year);
}

Chodziło o to że opera liczy sobie rok jako liczbe lat która upłynęła od roku 1900 no i wyszło jej ze od 1900 jest 104 lata smile.gif.
Więc jeśli IE i Mozilla dobrze ten skrypt interpretują to wystarczy usunąć niepotrzebne linijki kodu i będzie ok.

Ten post edytował revyag 22.09.2004, 14:05:57


--------------------
-------------

------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 17:35