Jika Anda hanya mengonversi waktu saat ini ke cap waktu, Anda dapat langsung menggunakan tanggal baru (). GetTime ()/1000; Tetapi jika Anda mengonversi waktu atau tanggal tertentu ke cap waktu UNIX, IE tidak mendukung metode dengan parameter seperti tanggal baru ("2013-1-1"), yang akan mengembalikan NAN.
Dalam hal ini, saya menulis fungsi -fungsi berikut, yang mendukung IE6+, Google, Firefox, dan browser lainnya:
Salinan kode adalah sebagai berikut:
function gettime (hari) {
re = /(/d{4})(?:-(/d {1,2 --)(?:-(/d {1,2}) ??)? ?(?:/s+(/d{1,2 --):(/d {1,2 --):(/d{1,2})??/.exec'day);
Kembalikan tanggal baru (re [1], (re [2] || 1) -1, re [3] || 1, re [4] || 0, re [5] || 0, re [6] || 0). GetTime ()/1000;
}
//tes
Peringatan (GetTime ("2013-02-03 10:10:10"));
Peringatan (GetTime ("2013-02-03"));
Peringatan (GetTime ("2013-02"));
Peringatan (GetTime ("2013"));
Fungsi berikut yang mengubah cap waktu menjadi format tanggal mendukung format tanggal kustom, dan efeknya mirip dengan fungsi tanggal PHP, dan juga mendukung browser seperti IE6+, Google, Firefox, dll. Fungsi ini diimplementasikan oleh netizen, dan saya akan menulisnya jika saya punya waktu di masa depan^_^^^^^
Salinan kode adalah sebagai berikut:
Tanggal fungsi (format, stempel waktu) {
var a, jsdate = ((timestamp)? Tanggal baru (timestamp*1000): tanggal baru ());
var pad = fungsi (n, c) {
if ((n = n + "") .length <c) {
mengembalikan array baru (++ c - n.length) .join ("0")+n;
} kalau tidak {
kembali n;
}
};
var txt_weekdays = ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"];
var txt_ordin = {1: "st", 2: "nd", 3: "rd", 21: "st", 22: "nd", 23: "rd", 31: "st"};
var txt_months = ["", "Januari", "Februari", "March", "April", "Mei", "Juni", "Juli", "Juli", "August", "September", "Oktober", "November", "Desember"];
var f = {
// Hari
d: function () {return pad (fj (), 2)},
D: function () {return fl (). Substr (0,3)},
j: function () {return jsdate.getDate ()},
l: function () {return txt_weekdays [fw ()]},
N: function () {return fw () + 1},
S: function () {return txt_ordin [fj ()]? txt_ordin [fj ()]: 'th'},
w: function () {return jsdate.getday ()},
z: function () {return (jsdate - tanggal baru (jsdate.getlyear () + "/1/1"))/864e5 >> 0},
// Pekan
W: function () {
var a = fz (), b = 364 + fl () - a;
var nd2, nd = (tanggal baru (jsdate.getlyear () + "/1/1"). getDay () || 7) - 1;
if (b <= 2 && ((jsdate.getday () || 7) - 1) <= 2 - b) {
kembali 1;
} kalau tidak{
if (a <= 2 && nd> = 4 && a> = (6 - nd)) {
nd2 = tanggal baru (jsdate.getlyear () - 1 + "/12/11");
tanggal pengembalian ("w", math.round (nd2.gettime ()/1000));
} kalau tidak{
return (1 + (nd <= 3? ((a + nd) / 7): (a - (7 - nd)) / 7) >> 0);
}
}
},
// Bulan
F: function () {return txt_months [fn ()]},
m: function () {return pad (fn (), 2)},
M: function () {return ff (). Substr (0,3)},
n: function () {return jsdate.getMonth () + 1},
t: function () {
var n;
if ((n = jsdate.getMonth () + 1) == 2) {
mengembalikan 28 + fl ();
} kalau tidak{
if (n & 1 && n <8 ||! (n & 1) && n> 7) {
kembali 31;
} kalau tidak{
kembali 30;
}
}
},
// Tahun
L: function () {var y = fy (); return (! (Y & 3) && (y % 1e2 ||! (Y % 4e2)))? 1: 0},
// o belum didukung
Y: function () {return jsdate.getlyear ()},
y: function () {return (jsdate.getlyear () + "") .slice (2)},
// Waktu
A: function () {return jsdate.getHours ()> 11? "pm": "am"},
A: function () {return fa (). Touppercase ()},
B: function () {
// Peter Paul Koch:
var off = (jsdate.getTimezoneOffset () + 60)*60;
var teseconds = (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;
ketukan kembali;
},
g: function () {return jsdate.getHours () % 12 || 12},
G: function () {return jsdate.getHours ()},
h: function () {return pad (fg (), 2)},
H: function () {return pad (jsdate.getHours (), 2)},
i: function () {return pad (jsdate.getMinutes (), 2)},
s: function () {return pad (jsdate.getSeconds (), 2)},
// kamu belum didukung
// zona waktu
// e belum didukung
// Saya belum mendukung
O: function () {
var t = pad (math.abs (jsdate.getTimeZoneOffset ()/60*100), 4);
if (jsdate.getTimezoneoffset ()> 0) t = "-" + t; lain t = " +" + t;
mengembalikan t;
},
P: function () {var o = fo (); return (o.substr (0, 3) + ":" + o.substr (3, 2))},
// T belum didukung
// z belum didukung
// tanggal/waktu penuh
c: function () {return fy () + "-" + fm () + "-" + fd () + "t" + fh () + ":" + fi () + ":" + fs () + fp ()},
// r belum didukung
U: function () {return math.round (jsdate.gettime ()/1000)}
};
return format.replace (/[//]? ([a-za-z])/g, function (t, s) {
if (t! = s) {
// melarikan diri
ret = s;
} lain jika (f [s]) {
// ada fungsi tanggal
ret = f [s] ();
} kalau tidak{
// tidak ada yang istimewa
ret = s;
}
kembali kembali;
});
}
//tes
peringatan (tanggal ('ymd h: i: s', (tanggal baru) .gettime ()/1000));
peringatan (tanggal ('ym-d', (tanggal baru) .getTime ()/1000));
peringatan (tanggal ('ymd h: i: s', '1355252653'));