การจัดรูปแบบที่จัดทำโดย JavaScript นั้นง่ายเกินไป และแม้กระทั่งรองรับการจัดรูปแบบโดยไม่มีตัวคั่นเช่น yyyymmdd
หลักการ: ใช้นิพจน์ปกติเพื่อแบ่งองค์ประกอบวันที่ในเทมเพลตวันที่ [เช่น yyyyy, mm, dd] และตัวคั่นจากนั้นใช้ค่าจริงเพื่อแทนที่องค์ประกอบวันที่เพื่อสร้างสตริงวันที่
มีการใช้ฟังก์ชั่นทั้งหมดสองฟังก์ชั่นและสามารถใช้งานได้
วิธีการขยาย:
ในตัวอย่างเฉพาะองค์ประกอบของมิลลิวินาทีในปีเดือนและวัน |
หากคุณต้องการแสดงเดือนหรือสัปดาห์อย่างเต็มรูปแบบคุณสามารถเพิ่มการกำหนดค่าที่สอดคล้องกันใน CFG
วิธีใช้:
วันที่ var = วันที่ใหม่ ();
var str = formatdate (วันที่, 'yyyy ปี mmm เดือน dd day');
มูลค่าของ STR คือ 29 กรกฎาคม 2555
คัดลอกรหัสรหัสดังนี้:
-
* จำนวนเต็มแบบจัดรูปแบบ
* @Param Number: หมายเลขเพื่อจัดรูปแบบจำนวนเต็ม
* @param fmt: รูปแบบจำนวนเต็มสตริง
-
Function formatNumber (หมายเลข, fmt) {
number = number + '';
if (fmt.length> number.length) {
ส่งคืน fmt.substring (number.length) + หมายเลข;
-
หมายเลขคืน;
-
-
* วันที่จัดรูปแบบคือการแสดงสตริง
* @Param DateTime: วันที่ในการจัดรูปแบบวัตถุวันที่
* รูปแบบ @param: รูปแบบวันที่สตริง
-
Function FormatDate (DateTime, Format) {{
var cfg = {
MMM: ['One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine', 'Ten', 'Eleven', 'สิบสอง' '],
MMMM: ['One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine', 'Ten', 'Eleven', 'สิบสอง' ']
-
ค่า = {{
y: dough.getlyear ()
M: Dough.getMonth ()
D: DateTime.getDate (),
H: DATES.GETHOURS (),
M: Dough.getMinutes (),
S: Dough.getSeconds (),
S: Dough.getMilliseconds ()
-
/*ใช้นิพจน์ทั่วไปเพื่อแยกรูปแบบวันที่ของแต่ละองค์ประกอบ*/
var elems = format.match (/y+| m+| d+| h+| m+| s+| s+| [^ymdhmss]/g);
// แทนที่องค์ประกอบวันที่เป็นค่าจริง
สำหรับ (var i = 0; i <elems.length; i ++) {
ถ้า (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] .remplace (/./ g, '0'));
-
-
return elems.join ('');
-