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:
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 ^_^
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'));