หากคุณเพียงแค่แปลงเวลาปัจจุบันเป็นการประทับเวลาคุณสามารถใช้วันที่ใหม่โดยตรง (). getTime ()/1000; แต่ถ้าคุณแปลงเวลาหรือวันที่เฉพาะเป็นการประทับเวลา UNIX นั่นคือไม่สนับสนุนวิธีการที่มีพารามิเตอร์เช่นวันที่ใหม่ ("2013-1-1") ซึ่งจะส่งคืน NAN
ในเรื่องนี้ฉันเขียนฟังก์ชั่นต่อไปนี้ซึ่งสนับสนุน IE6+, Google, Firefox และเบราว์เซอร์อื่น ๆ :
การคัดลอกรหัสมีดังนี้:
ฟังก์ชั่น getTime (วัน) {
re = /(/d {4})(?:-(/d {1,2})(
ส่งคืนวันที่ใหม่ (re [1], (re [2] || 1) -1, re [3] || 1, re [4] || 0, re [5] || 0, re [6] || 0) .getTime ()/1000;
-
//ทดสอบ
การแจ้งเตือน (getTime ("2013-02-03 10:10:10"));
การแจ้งเตือน (getTime ("2013-02-03"));
การแจ้งเตือน (getTime ("2013-02"));
การแจ้งเตือน (getTime ("2013"));
ฟังก์ชั่นต่อไปนี้ที่แปลงการประทับเวลาเป็นรูปแบบวันที่รองรับรูปแบบวันที่ที่กำหนดเองและเอฟเฟกต์นั้นคล้ายกับฟังก์ชันวันที่ของ PHP และยังรองรับเบราว์เซอร์เช่น IE6+, Google, Firefox ฯลฯ ฟังก์ชั่นนี้ใช้งานโดยชาวเน็ตและฉันจะเขียนมันออกมา
การคัดลอกรหัสมีดังนี้:
วันที่ฟังก์ชั่น (รูปแบบ, การประทับเวลา) {
var a, jsdate = ((timestamp)? วันที่ใหม่ (timestamp*1000): วันที่ใหม่ ());
var pad = function (n, c) {
if ((n = n + "") .length <c) {
ส่งคืนอาร์เรย์ใหม่ (++ C - N.Length) .Join ("0")+N;
} อื่น {
กลับ n;
-
-
var txt_weekdays = ["วันอาทิตย์", "วันจันทร์", "วันอังคาร", "วันพุธ", "วันพฤหัสบดี", "วันศุกร์", "วันเสาร์"];
var txt_ordin = {1: "st", 2: "nd", 3: "rd", 21: "st", 22: "nd", 23: "rd", 31: "st"};
var txt_months = ["", "มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"];
var f = {
// วัน
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 - วันที่ใหม่ (jsdate.getfullyear () + "/1/1")))/864e5 >> 0},
// สัปดาห์
W: function () {
var a = fz (), b = 364 + fl () - a;
var nd2, nd = (วันที่ใหม่ (jsdate.getulyear () + "/1/1"). getday () || 7) - 1;
if (b <= 2 && ((jsdate.getday () || 7) - 1) <= 2 - b) {
กลับ 1;
} อื่น{
if (a <= 2 && nd> = 4 && a> = (6 - nd)) {
nd2 = วันที่ใหม่ (jsdate.getlyear () - 1 + "/12/31");
วันที่ส่งคืน ("W", math.round (nd2.getTime ()/1000));
} อื่น{
return (1 + (nd <= 3? ((a + nd) / 7): (a - (7 - nd)) / 7) >> 0);
-
-
-
// เดือน
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) {
กลับ 28 + fl ();
} อื่น{
ถ้า (n & 1 && n <8 ||! (n & 1) && n> 7) {
กลับ 31;
} อื่น{
กลับ 30;
-
-
-
// ปี
l: function () {var y = fy (); return (! (y & 3) && (y % 1e2 ||! (y % 4e2)))? 1: 0}
// o ยังไม่รองรับ
y: function () {return jsdate.getlyear ()}
y: function () {return (jsdate.getulyear () + "") .slice (2)}
// เวลา
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 () + ปิด;
var beat = math.floor (theseconds/86.4);
ถ้า (เอาชนะ> 1,000) ตี -= 1,000;
ถ้า (เอาชนะ <0) เอาชนะ += 1,000;
if ((String (beat)). ความยาว == 1) Beat = "00"+Beat;
if ((String (beat)). ความยาว == 2) Beat = "0"+Beat;
จังหวะกลับ;
-
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)},
// คุณยังไม่รองรับ
// เขตเวลา
// e ยังไม่รองรับ
// ฉันยังไม่สนับสนุน
o: function () {
var t = pad (math.abs (jsdate.gettimezoneoffset ()/60*100), 4);
if (jsdate.getTimeZoneOffset ()> 0) t = "-" + t; อื่น t = " +" + t;
กลับ t;
-
p: function () {var o = fo (); return (o.substr (0, 3) + ":" + o.substr (3, 2))},
// ยังไม่รองรับ
// z ยังไม่รองรับ
// วันที่/เวลาเต็ม
C: function () {return fy () + "-" + fm () + "-" + fd () + "t" + fh () + ":" + fi () + ":" + fs () + fp ()},
// r ยังไม่รองรับ
u: function () {return math.round (jsdate.getTime ()/1000)}
-
return format.replace (/[//]? ([a-za-z])/g, ฟังก์ชัน (t, s) {
ถ้า (t! = s) {
// หลบหนี
ret = s;
} อื่นถ้า (f [s]) {
// มีฟังก์ชั่นวันที่
ret = f [s] ();
} อื่น{
// ไม่มีอะไรพิเศษ
ret = s;
-
ผลตอบแทนผลตอบแทน;
-
-
//ทดสอบ
การแจ้งเตือน (วันที่ ('ymd h: i: s', (วันที่ใหม่) .getTime ()/1000));
การแจ้งเตือน (วันที่ ('ym-d', (วันที่ใหม่) .getTime ()/1000));
การแจ้งเตือน (วันที่ ('ymd h: i: s', '1355252653'));