Si vous convertissez l'heure actuelle en un horodatage, vous pouvez directement utiliser la nouvelle date (). GetTime () / 1000; Mais si vous convertissez une heure ou une date spécifique en un horodatage UNIX, IE ne prend pas en charge les méthodes avec des paramètres comme New Date ("2013-1-1"), qui renverra NAN.
À cet égard, j'ai écrit les fonctions suivantes, qui prennent en charge IE6 +, Google, Firefox et d'autres navigateurs:
La copie de code est la suivante:
fonction getTime (day) {
re = /(/d {4 })(?:-(/d{1,2 })(?:-(/d{1,2 }))?)?(?:/S+(/D;
retourner la nouvelle date (re [1], (re [2] || 1) -1, re [3] || 1, re [4] || 0, re [5] || 0, re [6] || 0) .getTime () / 1000;
}
//test
alert (getTime ("2013-02-03 10:10:10"));
alert (getTime ("2013-02-03"));
alert (getTime ("2013-02"));
alert (getTime ("2013"));
La fonction suivante qui convertit les horodatages en format de date prend en charge les formats de date personnalisés, et l'effet est similaire à la fonction de date de PHP, et prend également en charge les navigateurs tels que IE6 +, Google, Firefox, etc. Cette fonction est implémentée par des internautes, et je l'écrirai si j'ai du temps dans le futur ^ _ ^
La copie de code est la suivante:
Date de fonction (format, horodatage) {
var a, jsdate = ((horodat)? Nouvelle date (horodat * 1000): new Date ());
var pad = fonction (n, c) {
if ((n = n + "") .length <c) {
return nouveau tableau (++ c - n.length) .join ("0") + n;
} autre {
retour n;
}
};
var txt_weekdays = ["Sunday", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"];
var txt_ordin = {1: "st", 2: "nd", 3: "rd", 21: "st", 22: "nd", 23: "rd", 31: "st"};
var txt_months = ["", "janvier", "février", "mars", "avril", "mai", "juin", "juillet", "juillet", "août", "septembre", "octobre", "novembre", "décembre"];
var f = {
// Jour
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 - new Date (jsdate.getlyear () + "/ 1/1")) / 864e5 >> 0},
// Semaine
W: function () {
var a = fz (), b = 364 + fl () - a;
var nd2, nd = (new Date (jsdate.getlyar () + "/ 1/1"). getday () || 7) - 1;
if (b <= 2 && ((jsdate.getday () || 7) - 1) <= 2 - b) {
retour 1;
} autre{
if (a <= 2 && nd> = 4 && a> = (6 - nd)) {
nd2 = new Date (jsdate.getlyar () - 1 + "/ 12/31");
Date de retour ("W", math.round (nd2.getTime () / 1000));
} autre{
return (1 + (nd <= 3? ((a + nd) / 7): (a - (7 - nd)) / 7) >> 0);
}
}
},
// Mois
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) {
retour 28 + fl ();
} autre{
if (n & 1 && n <8 ||! (n & 1) && n> 7) {
retour 31;
} autre{
retour 30;
}
}
},
// Année
L: function () {var y = fy (); return (! (Y & 3) && (y% 1e2 ||! (Y% 4e2)))? 1: 0},
// o pas encore pris en charge
Y: function () {return jsdate.getlyear ()},
y: function () {return (jsdate.getlyear () + "") .slice (2)},
// Temps
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 theseconds = (jsdate.gethours () * 3600) + (jsdate.getMinutes () * 60) + jsdate.getSeconds () + off;
var beat = math.floor (ces secondes / 86.4);
if (beat> 1000) beat - = 1000;
if (beat <0) beat + = 1000;
if ((String (beat)). length == 1) beat = "00" + beat;
if ((String (beat)). Longueur == 2) beat = "0" + beat;
retour rythme;
},
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)},
// tu n'as pas encore pris en charge
// fuseau horaire
// E n'est pas encore pris en charge
// je n'ai pas encore pris en charge
O: function () {
var t = pad (math.abs (jsdate.getTimeZoneOffset () / 60 * 100), 4);
if (jsdate.getTimeZoneOffset ()> 0) t = "-" + t; else t = "+" + t;
retour t;
},
P: function () {var o = fo (); return (o.substr (0, 3) + ":" + o.substr (3, 2))},
// t pas encore pris en charge
// z n'est pas encore pris en charge
// Date / heure complète
c: function () {return fy () + "-" + fm () + "-" + fd () + "t" + fh () + ":" + fi () + ":" + fs () + fp ()},
// R pas encore pris en charge
U: function () {return math.round (jsdate.getTime () / 1000)}
};
return format.replace (/ [//]? ([a-za-z]) / g, fonction (t, s) {
if (t! = s) {
// s'est échappé
ret = s;
} else if (f [s]) {
// Une fonction de date existe
ret = f [s] ();
} autre{
// rien de spécial
ret = s;
}
retour retour;
});
}
//test
alert (date ('ymd h: i: s', (nouvelle date) .getTime () / 1000));
alert (date ('ym-d', (nouvelle date) .getTime () / 1000));
alert (date ('ymd h: i: s', '1355252653'));