Heim >Web-Frontend >js-Tutorial >JavaScript-Funktion zur Konvertierung von Datum, Uhrzeit und Zeitstempel, gemeinsame Nutzung von Javascript-Kenntnissen

JavaScript-Funktion zur Konvertierung von Datum, Uhrzeit und Zeitstempel, gemeinsame Nutzung von Javascript-Kenntnissen

WBOY
WBOYOriginal
2016-05-16 16:16:421066Durchsuche

Wenn Sie nur die aktuelle Zeit in einen Zeitstempel konvertieren, können Sie new Date().getTime()/1000 direkt verwenden. Wenn Sie jedoch eine bestimmte Zeit oder ein bestimmtes Datum in einen Unix-Zeitstempel konvertieren möchten, wird new nicht unterstützt Date( „2013-1-1“) Diese Methode mit Parametern gibt NaN zurück.

In diesem Zusammenhang habe ich die folgende Funktion geschrieben, die ie6, Google, Firefox und andere Browser unterstützt:

Code kopieren Der Code lautet wie folgt:

Funktion getTime(day){
re = /(d{4})(?:-(d{1,2})(?:-(d{1,2}))?)?(?:s (d{1,2}): (d{1,2}):(d{1,2}))?/.exec(day);
gib neues Datum zurück(re[1],(re[2]||1)-1,re[3]||1,re[4]||0,re[5]||0,re[6]| |0).getTime()/1000;
}

//test
alarm(getTime("2013-02-03 10:10:10"));
alarm(getTime("2013-02-03"));
alarm(getTime("2013-02"));
alarm(getTime("2013"));

Die folgende Funktion konvertiert Zeitstempel in Datumsformate. Der Effekt ähnelt der Datumsfunktion von PHP. Sie unterstützt auch ie6, Google, Firefox und andere Browser. Diese Funktion wurde von einem Internetnutzer implementiert. Ich werde eine schreiben, wenn ich in Zukunft Zeit habe ^_^

Code kopieren Der Code lautet wie folgt:

Funktion Datum (Format, Zeitstempel){
    var a, jsdate=((timestamp) ? new Date(timestamp*1000) : new Date());
    var pad = function(n, c){
        if((n = n "").length < c){
            return new Array( c - n.length).join("0") n;
        } sonst {
            return n;
        }
    };
    var txt_weekdays = ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"];
    var txt_ordin = {1:"st", 2:"nd", 3:"rd", 21:"st", 22:"nd", 23:"rd", 31:"st"};
    var txt_months = ["", "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November" , "Dezember"];
    var f = {
        // Tag
        d: function(){return pad(f.j(), 2)},
        D: function(){return f.l().substr(0,3)},
        j: function(){return jsdate.getDate()},
        l: function(){return txt_weekdays[f.w()]},
        N: function(){return f.w() 1},
        S: function(){return txt_ordin[f.j()] ? txt_ordin[f.j()] : 'th'},
        w: function(){return jsdate.getDay()},
        z: function(){return (jsdate - new Date(jsdate.getFullYear() "/1/1")) / 864e5 >> 0},
     
        // Woche
        W: function(){
            var a = f.z(), b = 364 f.L() - a;
            var nd2, nd = (new Date(jsdate.getFullYear() "/1/1").getDay() || 7) - 1;
            if(b <= 2 && ((jsdate.getDay() || 7) - 1) <= 2 - b){
                return 1;
            } else{
                if(a <= 2 && nd >= 4 && a >= (6 - nd)){
                    nd2 = neues Datum(jsdate.getFullYear() - 1 "/31.12.");
                    return date("W", Math.round(nd2.getTime()/1000));
                } else{
                    return (1 (nd <= 3 ? ((a nd) / 7) : (a - (7 - nd)) / 7) >> 0);
                }
            }
        },
     
        // Monat
        F: function(){return txt_months[f.n()]},
        m: function(){return pad(f.n(), 2)},
        M: function(){return f.F().substr(0,3)},
        n: function(){return jsdate.getMonth() 1},
        t: function(){
            var n;
            if( (n = jsdate.getMonth() 1) == 2 ){
                return 28 f.L();
            } else{
                if( n & 1 && n < 8 || !(n & 1) && n > 7 ){
                    return 31;
                } else{
                    Rückkehr 30;
                }
            }
        },
     
        // Jahr
        L: function(){var y = f.Y();return (!(y & 3) && (y % 1e2 || !(y % 4e2))) ? 1 : 0},
        //o noch nicht unterstützt
        Y: function(){return jsdate.getFullYear()},
        y: function(){return (jsdate.getFullYear() "").slice(2)},
     
        // Zeit
        a: function(){return jsdate.getHours() > 11 ? „pm“ : „am“},
        A: function(){return f.a().toUpperCase()},
        B: function(){
            // Peter Paul Koch:
            var off = (jsdate.getTimezoneOffset() 60)*60;
            var theSeconds = (jsdate.getHours() * 3600) (jsdate.getMinutes() * 60) jsdate.getSeconds() off;
            var beat = Math.floor(theSeconds/86.4);
            if (beat > 1000) beat -= 1000;
            if (beat < 0) beat = 1000;
            if ((String(beat)).length == 1) beat = "00" beat;
            if ((String(beat)).length == 2) beat = "0" beat;
            Rückschlag;
        },
        g: function(){return jsdate.getHours() % 12 || 12},
        G: function(){return jsdate.getHours()},
        h: function(){return pad(f.g(), 2)},
        H: function(){return pad(jsdate.getHours(), 2)},
        i: function(){return pad(jsdate.getMinutes(), 2)},
        s: function(){return pad(jsdate.getSeconds(), 2)},
        //du wirst noch nicht unterstützt
     
        // Zeitzone
        //e wird noch nicht unterstützt
        //Ich habe es noch nicht unterstützt
        O: function(){
            var t = pad(Math.abs(jsdate.getTimezoneOffset()/60*100), 4);
            if (jsdate.getTimezoneOffset() > 0) t = "-" t; sonst t = " " t;
            return t;
        },
        P: function(){var O = f.O();return (O.substr(0, 3) ":" O.substr(3, 2))},
        //T noch nicht unterstützt
        //Z noch nicht unterstützt
     
        // Vollständiges Datum/Uhrzeit
        c: function(){return f.Y() "-" f.m() "-" f.d() "T" f.h() ":" f.i() ":" f.s() f.P()},
        //r noch nicht unterstützt
        U: function(){return Math.round(jsdate.getTime()/1000)}
    };
     
    return format.replace(/[\]?([a-zA-Z])/g, function(t, s){
        if( t!=s ){
            // entkommen
            ret = s;
        } else if( f[s] ){
            // eine Datumsfunktion existiert
            ret = f[s]();
        } else{
            // nichts Besonderes
            ret = s;
        }
        return ret;
    });
}

//test
alarm(date('Y-m-d H:i:s',(new Date).getTime()/1000));
alarm(date('Y-m-d',(new Date).getTime()/1000));
alarm(date('Y-m-d H:i:s','1355252653'));

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn