Die von Javascript bereitgestellte Datumsformatierung ist zu einfach. und unterstützt sogar die Formatierung ohne Abschlüsse wie yyyymmdd.
Prinzipien: Verwenden Sie den regulären Ausdruck, um die Datumselemente in der Datumsvorlage [wie Yyjyyy, MM, DD] und Separatoren zu teilen, und verwenden Sie dann den tatsächlichen Wert, um das Datumselement zu ersetzen, um die Datumszeichenfolge zu bilden.
Insgesamt werden zwei Funktionen implementiert und die Paste kann ausgeführt werden.
Erweiterungsmethode:
Im Beispiel des Elements von Millisekunden im Jahr, des Monats und des Tages können Sie die Woche zum Wert des Werts hinzufügen und den regulären Ausdruck auf Y+| modifizieren |.
Wenn Sie den Monat oder die Woche als voll oder einfach anzeigen müssen, können Sie die entsprechende Konfiguration zum CFG hinzufügen.
Wie man verwendet:
var date = new Date ();
var str = formatdate (Datum, 'Yyyy Year Mmm Monat DD Day');
Der Wert von STR ist der 29. Juli 2012
Kopieren Sie den Code -Code wie folgt:
/**
* Formatale Ganzzahl
* @Param Nummer: Nummer, um die Ganzzahl zu formatieren
* @param fmt: String Integer -Format
*/
Funktionsformatnumber (Nummer, fmt) {
Nummer = Nummer + '';
if (fmt.length> number.length) {
Return fmt.substring (number.Length) + number;
}
Rückgabenummer;
}
/**
* Das Formatierungsdatum ist die String -Darstellung
* @param datetime: Datum zum Formatieren des Datumsobjekts
* @param Format: String -Datum -Format
*/
Funktionsformatdat (DateTime, Format) {{{{{
var cfg = {
Mmm: ['eins', 'zwei', 'drei', 'vier', 'fünf', 'sechs', 'sieben', 'acht', 'neun', 'zehn', 'elf', 'Ten Two '],
Mmmm: ['eins', 'zwei', 'drei', 'vier', 'fünf', 'sechs', 'sieben', 'acht', 'neun', 'Ten', 'elf', 'Ten Two ']
},
Values = {{{
y: teig.getingfullyear (),
M: Teig.getmonth (),
D: DateTime.getDate (),
H: dates.gethours (),
M: Teig.getminutes (),
S: Teig.getSeconds (),
S: Teig.getMillisekunden ()
};
/*Verwenden Sie einen regulären Ausdruck, um das Datumsformat jedes Elements zu teilen*/
var elems = format.match (/y+| m+| d+| H+| m+| s+| s+| [^ymdhms]/g);
// Ersetzen Sie das Datumselement durch den tatsächlichen Wert
für (var i = 0; i <elems.length; i ++) {
if (cfg [Elems [i]]) {
elems [i] = cfg [Elems [i]] [Werte [Elems [i] .charat (0)] ;;
} Else if (values [elems [i] .charat (0)]) {) {
Elems [i] = formatnumber (Werte [Elems [i] .Charat (0)], Elems [i] .Replace (/./ g, '0'));
}
}
Return Elems.join ('');
}