إن تنسيق التاريخ الذي يوفره JavaScript بسيط للغاية. ، وحتى يدعم التنسيق بدون فواصل مثل Yyyymmdd.
المبادئ: استخدم التعبير العادي لتقسيم عناصر التاريخ في قالب التاريخ [مثل Yyyyy و MM و DD] والفواصل ، ثم استخدم القيمة الفعلية لاستبدال عنصر التاريخ لتشكيل سلسلة التاريخ.
يتم تنفيذ ما مجموعه وظيفتين ، ويمكن تشغيل المعجون.
طريقة التمديد:
في المثال ، فقط عنصر المللي ثانية في السنة والشهر واليوم |
إذا كنت بحاجة إلى عرض الشهر أو الأسبوع على أنه كامل أو بسيط ، فيمكنك إضافة التكوين المقابل إلى CFG.
كيفية استخدام:
var date = new date () ؛
var str = formatdate (Date ، 'Yyyy Ym Mmm Month Dd Day') ؛
قيمة STR هي 29 يوليو 2012
نسخ رمز رمز على النحو التالي:
/**
* عدد صحيح الشكل
* رقم param: رقم لتنسيق عدد صحيح
* param fmt: تنسيق integer سلسلة
*/
وظيفة formatnumber (الرقم ، fmt) {
الرقم = الرقم + '' ؛
if (fmt.length> number.length) {
إرجاع fmt.substring (number.length) + رقم ؛
}
رقم الإرجاع ؛
}
/**
* تاريخ التنسيق هو تمثيل السلسلة
* param dateTime: تاريخ تنسيق كائن التاريخ
* تنسيق param: تنسيق تاريخ السلسلة
*/
Function FormatDate (DateTime ، Format) {{
var cfg = {
MMM: ['One' ، 'اثنين' ، 'Three' ، 'Four' ، 'Five' ، 'Six' ، 'Seven' ، 'Eight' ، 'Nine' ، 'Ten' ، 'Eleven' ، 'Ten Two '] ،
Mmmm: ['One' ، 'اثنين' ، 'Three' ، 'Four' ، 'Five' ، 'Six' ، 'Seven' ، 'Eight' ، 'Nine' ، 'Ten' ، 'Eleven' ، 'Ten Two ']
} ،
القيم = {{
Y: العجين.
م: العجين. getMonth () ،
D: DateTime.getDate () ،
H: Dates.gethours () ،
م: العجين. getMinutes () ،
S: العجين. getSeconds () ،
S: Scough.getMillisEconds ()
} ؛
/*استخدم تعبيرًا منتظمًا لتقسيم تنسيق تاريخ كل عنصر*/
var elems = format.match (/y+| m+| d+| h+| m+| s+| s+| [^ymdhmss]/g) ؛
// استبدل عنصر التاريخ بالقيمة الفعلية
لـ (var i = 0 ؛ i <elems.length ؛ i ++) {
if (cfg [elems [i]]) {
elems [i] = cfg [elems [i]] [القيم [elems [i] .charat (0)] ؛؛
} آخر إذا (القيم [elems [i] .charat (0)]) {) {
elems [i] = formatnumber (القيم [elems [i] .charat (0)] ، elems [i] .replace (/ ./ g ، '0')) ؛
}
}
إرجاع elems.join ('') ؛
}