Zeitzone ändern


  • Mod

    Ist es möglich, die Zeitzone, in der man sich befindet, für den eigenen Account zu ändern? Ich befinde mich derzeit nicht in MEST und finde es sehr verwirrend, wenn die Beiträge alle mit MEST datiert sind, da ich dann bei Vergleich mit meiner Uhr erst genau nachdenken muss, wie alt der Beitrag wirklich ist. In den Profileinstellungen konnte ich keine Einstellung dieser Art finden. Gibt es da vielleicht eine clevere Option bei der Angabe des Zeitformatstrings?



  • Fühle mich auch betroffen, bin in GMT.

    Ginge das nicht über ein Greasemonkey-Skript? Muss man halt präzise machen.


  • Mod

    Arcoth schrieb:

    Ginge das nicht über ein Greasemonkey-Skript? Muss man halt präzise machen.

    Moeglich. Aber meine JS-Kenntnisse gehen gegen 0 😞 .


  • Administrator

    // ==UserScript==
    // @name        c-plusplus timezone change
    // @namespace   http://www.c-plusplus.net/forum/
    // @author      Dravere
    // @description Changes the timezone at c-plusplus.net
    // @include     http://www.c-plusplus.net/forum/*
    // @version     1
    // @grant       none
    // ==/UserScript==
    
    (function ()
    {
        var hourAdjustment = -2;
        var dateRegex = /(\d{2}):(\d{2}):(\d{2}) (\d{2})\.(\d{2})\.(\d{4})/;
    
        function formatDate(date)
        {
            function pad2Digit(v) { return v < 10 ? "0" + v : v; }
    
            return pad2Digit(date.getHours()) +
                ":" + pad2Digit(date.getMinutes()) +
                ":" + pad2Digit(date.getSeconds()) +
                " " + pad2Digit(date.getDate()) +
                "." + pad2Digit(date.getMonth() + 1) +
                "." + date.getFullYear();
        }
    
        function createDate(hours, minutes, seconds, day, month, year)
        {
            var date = new Date(year, month - 1, day, hours, minutes, seconds);
            date.setHours(date.getHours() + hourAdjustment);
            return date;
        }
    
        function dateReplace(match, hours, minutes, seconds, day, month, year)
        {
            return formatDate(createDate(hours, minutes, seconds, day, month, year));
        }
    
        function adjustTimezone(className)
        {
            var postdetailNodes = document.getElementsByClassName(className);
    
            for(var i = 0; i < postdetailNodes.length; ++i)
            {
                var node = postdetailNodes[i].firstChild;
    
                while(node != null)
                {
                    if(node.data)
                    {
                        node.data = node.data.replace(dateRegex, dateReplace);
                    }
    
                    node = node.nextSibling;
                }
            }
        }
    
        adjustTimezone('postdetails');
        adjustTimezone('gensmall');
    })();
    

    Einfach den Wert von hourAdjustment anpassen. Leider kann ich keine Sommerzeit automatisch unterstützen. Das Forum hat intern anscheinend überhaupt keine Zeitzone eingestellt. Sieht man, wenn man das Zeit-/Datumformat im Profil auf 'c' umstellt.

    Ich hoffe, dass es trotzdem dem einen oder anderen hilft. Vielleicht hat einer ja noch eine bessere Lösungsidee.

    Grüssli



  • Dravere schrieb:

    Vielleicht hat einer ja noch eine bessere Lösungsidee.

    Einfach erstmal ignorieren. Wenns drauf ankäme, würdest Du die Stunde umrechnen schon automatisieren.

    (*hust*)


  • Mod

    Super. Danke dir.


Log in to reply