Rumah > hujung hadapan web > tutorial js > Masa tarikh JavaScript dan fungsi penukaran cap masa kemahiran sharing_javascript

Masa tarikh JavaScript dan fungsi penukaran cap masa kemahiran sharing_javascript

WBOY
Lepaskan: 2016-05-16 16:16:42
asal
1062 orang telah melayarinya

Jika anda hanya menukar masa semasa kepada cap waktu, anda boleh terus menggunakan Date().getTime()/1000; tetapi jika anda ingin menukar masa atau tarikh tertentu kepada cap waktu Unix, iaitu tidak menyokong baharu Date() "2013-1-1") Kaedah dengan parameter ini akan mengembalikan NaN.

Dalam hal ini, saya menulis fungsi berikut, yang menyokong ie6, Google, Firefox dan pelayar lain:

Salin kod Kod adalah seperti berikut:

fungsi getTime(hari){
semula = /(d{4})(?:-(d{1,2})(?:-(d{1,2}))?)?(?:s (d{1,2}): (h{1,2}):(h{1,2}))?/.exec(hari);
kembalikan Tarikh baharu(semula[1],(semula[2]||1)-1,semula[3]||1,semula[4]||0,semula[5]||0,semula[6]| |0).getTime()/1000;
}

//ujian
alert(getTime("2013-02-03 10:10:10"));
alert(getTime("2013-02-03"));
alert(getTime("2013-02"));
alert(getTime("2013"));

Fungsi berikut menukar cap masa kepada format tarikh Ia menyokong format tarikh tersuai Kesannya serupa dengan fungsi tarikh PHP Ia juga menyokong ie6, Google, Firefox dan pelayar lain. Fungsi ini dilaksanakan oleh seorang netizen, saya akan menulisnya apabila saya mempunyai masa di masa hadapan ^_^

Salin kod Kod adalah seperti berikut:

tarikh fungsi(format, cap masa){
    var a, jsdate=((timestamp) ? new Date(timestamp*1000) : new Date());
    pad var = fungsi(n, c){
        if((n = n "").panjang < c){
            kembalikan Tatasusunan baharu( c - n.length).join("0") n;
        } lain {
            pulangkan n;
        }
    };
    var txt_weekdays = ["Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu"];
    var txt_ordin = {1:"st", 2:"nd", 3:"rd", 21:"st", 22:"nd", 23:"rd", 31:"st"};
    var txt_months = ["", "Januari", "Februari", "Mac", "April", "Mei", "Jun", "Julai", "Ogos", "September", "Oktober", "November" , "Disember"];
    var f = {
        // Hari
        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},
     
        // Minggu
        W: fungsi(){
            var a = f.z(), b = 364 f.L() - a;
            var nd2, nd = (Tarikh baharu(jsdate.getFullYear() "/1/1").getDay() || 7) - 1;
            if(b <= 2 && ((jsdate.getDay() || 7) - 1) <= 2 - b){
                pulangkan 1;
            } lain{
                if(a <= 2 && nd >= 4 && a >= (6 - nd)){
                    nd2 = new Date(jsdate.getFullYear() - 1 "/12/31");
                    tarikh pulangan("W", Math.round(nd2.getTime()/1000));
                } lain{
                    kembali (1 (nd <= 3 ? ((a) / 7) : (a - (7 - nd)) / 7) >> 0);
                }
            }
        },
     
        // Bulan
        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 ){
                kembali 28 f.L();
            } lain{
                jika( n & 1 && n < 8 || !(n & 1) && n > 7 ){
                    kembali 31;
                } lain{
                    kembali 30;
                }
            }
        },
     
        // Tahun
        L: function(){var y = f.Y();return (!(y & 3) && (y % 1e2 || !(y % 4e2))) ? 1 : 0},
        //o belum disokong lagi
        Y: function(){return jsdate.getFullYear()},
        y: function(){return (jsdate.getFullYear() "").slice(2)},
     
        // Masa
        a: function(){return jsdate.getHours() > 11 ? "pm" : "am"},
        A: function(){return f.a().toUpperCase()},
        B: fungsi(){
            // 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);
            jika (pukul > 1000) pukul -= 1000;
            jika (pukul < 0) pukul = 1000;
            if ((String(beat)).length == 1) beat = "00" beat;
            if ((String(beat)).length == 2) beat = "0" beat;
            rentak balik;
        },
        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)},
        //anda belum disokong lagi
     
        // Zon waktu
        //e belum disokong lagi
        //Saya belum menyokong
        O: fungsi(){
            var t = pad(Math.abs(jsdate.getTimezoneOffset()/60*100), 4);
            if (jsdate.getTimezoneOffset() > 0) t = "-" t; lain t = " " t;
            pulangkan t;
        },
        P: function(){var O = f.O();return (O.substr(0, 3) ":" O.substr(3, 2))},
        //T belum disokong lagi
        //Z belum disokong lagi
     
        // Tarikh/Masa Penuh
        c: function(){return f.Y() "-" f.m() "-" f.d() "T" f.h() ":" f.i() ":" f.s() f.P()},
        //r belum disokong lagi
        U: function(){return Math.round(jsdate.getTime()/1000)}
    };
     
    return format.replace(/[\]?([a-zA-Z])/g, function(t, s){
        jika( t!=s ){
            // melarikan diri
            ret = s;
        } lain jika( f[s] ){
            // fungsi tarikh wujud
            ret = f[s]();
        } lain{
            // tiada yang istimewa
            ret = s;
        }
        pulang ret;
    });
}

//ujian
makluman(tarikh('Y-m-d H:i:s',(Tarikh baharu).getTime()/1000));
makluman(tarikh('Y-m-d',(Tarikh baharu).getTime()/1000));
makluman(tarikh('Y-m-d H:i:s','1355252653'));

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan