Format yang disediakan oleh JavaScript terlalu sederhana. , dan bahkan mendukung pemformatan tanpa pemisah seperti yyyymmdd.
Prinsip: Gunakan ekspresi reguler untuk membagi elemen tanggal dalam templat tanggal [seperti yyyyy, mm, dd], dan pemisah, dan kemudian gunakan nilai aktual untuk mengganti elemen tanggal untuk membentuk string tanggal.
Sebanyak dua fungsi diimplementasikan, dan pasta dapat dijalankan.
Metode ekstensi:
Dalam contohnya, hanya elemen milidetik di tahun, bulan, dan hari D+|
Jika Anda perlu menampilkan bulan atau minggu sebagai penuh atau sederhana, Anda dapat menambahkan konfigurasi yang sesuai ke CFG. Saya hanya menambahkan contoh ke CFG
Bagaimana menggunakan:
var date = new date ();
var str = formatDate (tanggal, 'yyyy tahun mmm bulan dd day');
Nilai STR adalah 29 Juli 2012
Salin kode kode sebagai berikut:
/**
* Integer Format
* @param Number: Nomor untuk memformat bilangan bulat
* @param fmt: format string integer
*/
Fungsi FormatNumber (angka, fmt) {
angka = angka + '';
if (fmt.length> number.length) {
Return fmt.substring (number.length) + angka;
}
Nomor pengembalian;
}
/**
* Tanggal pemformatan adalah representasi string
* @param datetime: Tanggal untuk memformat objek tanggal
* format @param: format tanggal string
*/
Format formatDate (datetime, format) {{
var cfg = {
Mmm: ['One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine', 'Ten', 'Eleven', 'Ten Two '],
Mmmm: ['One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine', 'Ten', 'Eleven', 'Ten Two ']
},
Nilai = {{
Y: Dough.getlyEar (),
G: Dough.getmonth (),
D: DateTime.getDate (),
H: Tanggal.getHours (),
G: Dough.getMinutes (),
S: Dough.GetSeconds (),
S: dough.getMilliseconds ()
};
/*Gunakan ekspresi reguler untuk membagi format tanggal setiap elemen*/
var elems = format.match (/y+| m+| d+| h+| m+| s+| s+| [^ymdhmss]/g);
// Ganti elemen tanggal ke nilai aktual
untuk (var i = 0; i <elems.length; i ++) {
if (cfg [elem [i]]) {
elem [i] = cfg [elem [i]] [nilai [elem [i] .charat (0)] ;;
} Lain jika (nilai [elem [i] .charat (0)]) {) {
Elem [i] = formatNumber (nilai [elem [i] .charat (0)], elem [i] .replace (/./ g, '0'));
}
}
Return elems.join ('');
}