Volevo creare l'ora di Tokyo, ma c'è un errore. Quando cambnio orario nel sistema anche l'ora mi cambia è quindi mi da sbagliato l'ora di Tokyo. Come risolvere??

codice:

// JavaScript Document
    function giappone()
    {
        var date = new Date();
        var timegmt = date.toGMTString();
        time_string = timegmt.split(' ');

        week = time_string[0];
        day = time_string[1];
        mon = time_string[2];
        year = time_string[3];
        hms=time_string[4];
        hms_string = hms.split(':');

        var hour = hms_string[0] - 0;
        var min = hms_string[1];
       
        //Assegna ora di Tokyo (Giappone)
        var tok_week = week;
        var jp_ora=hour +9
       
        var tok_ampm = " a.m.";
        if (jp_ora > 24) {
            jp_ora = jp_ora-24
            tok_week += 1
        }
        if (jp_ora > 11) {
            tok_ampm = " p.m."
            }
        if (jp_ora > 12) {
            jp_ora -= 12
        }
               
        var min=date.getMinutes();
        m = parseInt(min/10);
        document.mj2.src = "Immagini/Orario/"+m+".gif";
        m = min - m*10;
        document.mj1.src = "Immagini/Orario/"+m+".gif";
           
        o =parseInt(jp_ora/10);
        document.oj2.src = "Immagini/Orario/"+o+".gif";
        o = jp_ora%10;
        document.oj1.src = "Immagini/Orario/"+o+".gif";

        setTimeout('giappone()',500);     
    }