Servergebundene Java Uhr mit negative Zeitverschiebung

  • Hallo zusammen,
    0 - 1 <=> 23 Uhr :D stimmts?

    Das ist gerade mein Problem. In China steht ein Server. Auf der Webseite wird die chinesische Zeit digital angezeigt und daneben direkt die deutsche. (sekundentakt)
    Funktioniert super!; Bis 23:59 chinesischer Zeit (17:59). Um 00:00 ist die deutsche Zeit dann 0-6:00 statt 18:00.

    Das Java von alleine das nicht checkt ist klar. Nur wie bringe ich jetzt unser Zahlensystem da ins Spiel?
    [quelle]
    var h = now.getHours()-6;
    [/quelle]

    Danke für Vorschläge und viele Grüße,
    Freezer8510

  • java kann das auch nich checken, wenns javascript is!
    und du könntest nen assoziatives array nehmen wo du die chinesischen std als key und die deutschen std als value reinhaust.

    dann kannste ie zeit lokal berechnen und nimmst einfach aussm array die zahlen für die deutsche zeit

  • Guter Ansatz und Danke dafür!

    Dennoch ist mir gestern ein viel einfacherer Weg praktischer Weise eingefallen... :)
    Ich habe keine Datums anzeige... also nicht
    var h = now.getHours()-6;
    sondern
    var h = now.getHours()+18;

    Die Differenz zu meiner 24h Uhr ... :D

    So einfach kann es sein ... ;)

    Nun hängen wir den Chinesen nicht 6 stunden nach, sondern sind schon im Folgetag ... :) + ist für JavaSCRIPT einfacher als - ..


    Gruß Freezer8510

    Ach verdammt ... hat 12 Stunden gut Funktioniert ... Nur jetzt ist es in Deutschland 38:38 ... -.- das ist natürlich mist. . . :(

    Also zurück zu deinem Ansatz.
    Was ist ein assoziatives Array, wie setze ich Key und Value ... versteh mal wieder nur Bahnhof ..

    Gruß Freezer8510

    Einmal editiert, zuletzt von synaptic (17. Oktober 2010 um 21:58) aus folgendem Grund: beiträge zusammenführt! Vermeide bitte Doppelposts und nutz die editfunktion

  • also zum einen vermeide bitte doppelpostings und zum anderen gibt es soo viele scripte, die das machen, was du brauchst...^^

    aber bevor ich jetzt nen link poste der dir helfen könnte..
    gehe ich davon aus, dass du das rad zweimal erfinden möchtest, damit du dein eigenes hast und weisst wie man es macht.........
    du kannst ganz normal die stunden auch addieren, jedoch musst du auch die entsprechende logik einbauen, die eben den tag später erkennt usw.

    und wo ich mich grad mit deiner frage auseinandersetze sehe ich, dass du weil du ja mit integer werkeln musst gar kein assoziatives aray brauchst^^ da reicht nen normales

    Code
    var uhrzeit = new Array();
    uhrzeit[0] = 6;
    urhrzeit[1] = 7;
    ...
    uhrzeit[23] = 5;

    usw usw bis du alle stunden hast.

    dann bekomste ja nen numerischen wert bei deinen stunden, für die deutsche zeit machste dann einfach was in diesem style hier:

    Code
    var stdDeutsch = uhrzeit[now.getHours()];

    und um deine frage zu beantworten...
    nen assoziatives array wäre sowas hier

    Code
    var foo = Array();
    foo['bar'] = 'fuba';
    foo['fuba'] = 'bar';
    foo['fuuuu'] = 'baaaa';

    so haste halt keinen numerischen index, mit dem du auf elemente zugreifst sondern nen key (der Sting in den eckigen klammern) und nen value (den eigentlichen wert hiner dem zuweisungsoperator)


    edit: und ich hatte doch glatt den link vergessen...
    http://schoschi.de/texts/weltzeituhr.htm

    ps: ich hab mir das script dort nicht angesehen und weiß demnach icht, wie der mensch dort es umgesetzt hat, aber schau es dir mal an, ich denke das wird helfen...

    Einmal editiert, zuletzt von synaptic (17. Oktober 2010 um 22:09)

  • Vielen Dank für diese zügige und sehr kompetente Hilfe!

    Langsam frage ich mich, wieso ich nicht darauf kam solche Zuordnung zu machen, wie du sie mir vorgeschlagen hast ...

    :)

    Gruß Freezer8510

  • Hier hätte man es auch sehr leicht mithilfe von PHP und deren Zeitfunktionen gehen können, aber nun habt ihr ja schon eine geeignete

    zb grob so:

    PHP
    var stdChina = <?php echo date(xy); ?>
    var stdDeutsch = <?php setlocal(xy); echo date(xy); ?>



    Nur als Anreiz

    mfg