نسخة الكود كما يلي:
// نفس وظيفة تنسيق الطابع الزمني مثل PHP
// param {string} تنسيق
// param {int} timestamp الوقت لتنسيق الإعدادات الافتراضية للوقت الحالي
// regurn {string} سلسلة الوقت المنسقة
تاريخ الوظيفة (التنسيق ، الطابع الزمني) {
var a ، jsdate = ((timestamp)؟ تاريخ جديد (timestamp*1000): date ()) ؛
var pad = function (n ، c) {
if ((n = n + "") .Length <c) {
إرجاع مجموعة جديدة (++ c - n.length). join ("0")+n ؛
} آخر {
العودة ن ؛
}
} ؛
var txt_weekdays = ["Sunday" ، "Monday" ، "Tuesday" ، "Wednesday" ، "Frongle" ، "Friday" ، "Saturday"] ؛
var txt_ordin = {1: "st" ، 2: "nd" ، 3: "rd" ، 21: "st" ، 22: "nd" ، 23: "rd" ، 31: "st"} ؛
var txt_months = ["" ، "يناير" ، "فبراير" ، "مارس" ، "أبريل" ، "مايو" ، "يونيو" ، "يوليو" ، "يوليو" ، "أغسطس" ، "سبتمبر" ، "أكتوبر" ، "نوفمبر" ، "ديسمبر" "؛
var f = {
// يوم
D: function () {
لوحة الإرجاع (fj () ، 2) ؛
} ،
D: function () {
t = fl () ؛ إرجاع T.Substr (0،3) ؛
} ،
J: Function () {
إرجاع jsdate.getDate () ؛
} ،
L: Function () {
إرجاع txt_weekdays [fw ()] ؛
} ،
n: function () {
إرجاع fw () + 1 ؛
} ،
S: Function () {
إرجاع txt_ordin [fj ()]؟ txt_ordin [fj ()]: 'th' ؛
} ،
W: Function () {
return jsdate.getday () ؛
} ،
z: function () {
Return (jsdate - تاريخ جديد (jsdate.getlyear () + "/1/1"))/864e5 >> 0 ؛
} ،
// أسبوع
W: Function () {
var a = fz () ، b = 364 + fl () - a ؛
var nd2 ، nd = (تاريخ جديد (jsdate.getlyear () + "/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/13") ؛
تاريخ الإرجاع ("W" ، Math.Round (nd2.getTime ()/1000)) ؛
} آخر{
العودة (1 + (nd <= 3؟ ((a + nd) / 7): (a - (7 - nd)) / 7) >> 0) ؛
}
}
} ،
// شهر
F: function () {
إرجاع txt_months [fn ()] ؛
} ،
م: دالة () {
لوحة الإرجاع (fn () ، 2) ؛
} ،
م: دالة () {
t = ff () ؛ إرجاع T.Substr (0،3) ؛
} ،
n: function () {
return jsdate.getMonth () + 1 ؛
} ،
t: function () {
var n ؛
if ((n = jsdate.getmonth () + 1) == 2) {
إرجاع 28 + fl () ؛
} آخر{
if (n & 1 && n <8 ||! (n & 1) && n> 7) {
العودة 31 ؛
} آخر{
العودة 30 ؛
}
}
} ،
// سنة
L: Function () {
var y = fy () ؛
العودة (! (y & 3) && (y ٪ 1e2 ||! (y ٪ 4e2)))؟ 1: 0 ؛
} ،
// o غير مدعوم بعد
y: function () {
إرجاع jsdate.getlyear () ؛
} ،
y: function () {
العودة (jsdate.getlyear () + "") .slice (2) ؛
} ،
// وقت
ج: الدالة () {
إرجاع jsdate.gethours ()> 11؟ "PM": "AM" ؛
} ،
ج: الدالة () {
إرجاع fa (). touppercase () ؛
} ،
ب: دالة () {
// بيتر بول كوخ:
var off = (jsdate.gettimezoneoffset () + 60)*60 ؛
var theseconds = (jsdate.gethours () * 3600) +
(jsdate.getMinutes () * 60) +
JSDate.GetSeconds () + OFF ؛
var beat = math.floor (theseconds/86.4) ؛
if (beat> 1000) beat -= 1000 ؛
إذا (تغلب <0) فوز += 1000 ؛
if ((String (beat)). length == 1) beat = "00"+beat ؛
if ((String (beat)). length == 2) beat = "0"+beat ؛
عودة فوز
} ،
G: Function () {
إرجاع jsdate.gethours () ٪ 12 || 12 ؛
} ،
G: Function () {
إرجاع jsdate.gethours () ؛
} ،
H: Function () {
لوحة الإرجاع (fg () ، 2) ؛
} ،
H: Function () {
لوحة الإرجاع (jsdate.gethours () ، 2) ؛
} ،
i: function () {
لوحة الإرجاع (jsdate.getMinutes () ، 2) ؛
} ،
S: Function () {
لوحة الإرجاع (jsdate.getSeconds () ، 2) ؛
} ،
// لم تدعم بعد
// timezone
// e غير مدعوم بعد
// لم أدعو بعد
o: function () {
var t = pad (math.abs (jsdate.gettimezoneoffset ()/60*100) ، 4) ؛
if (jsdate.gettimezoneoffset ()> 0) t = "-" + t ؛ آخر t = " +" + t ؛
العودة ر ؛
} ،
P: Function () {
var o = fo () ؛
العودة (O.Substr (0 ، 3) + ":" + O.Substr (3 ، 2)) ؛
} ،
// لم يتم دعمه بعد
// Z غير مدعوم بعد
// التاريخ الكامل/الوقت
ج: الدالة () {
return fy () + "-" + fm () + "-" + fd () + "t" + fH () + ":" + fi () + ":" + fs () + fp () ؛
} ،
// r غير مدعوم بعد
u: function () {
return Math.Round (jsdate.getTime ()/1000) ؛
}
} ؛
إرجاع التنسيق
if (t! = s) {
// هرب
ret = s ؛
} آخر إذا (f [s]) {
// وظيفة تاريخ
ret = f [s] () ؛
} آخر{
// لا شيء مميز
ret = s ؛
}
العودة
}) ؛
}