El formato de fecha proporcionado por JavaScript es demasiado simple. e incluso admite el formato sin separadores como YYYYMMDD.
Principios: Use la expresión regular para dividir los elementos de fecha en la plantilla de fecha [como AYYYY, MM, DD] y Separadores, y luego use el valor real para reemplazar el elemento de fecha para formar la cadena de fecha.
Se implementan un total de dos funciones y la pasta se puede ejecutar.
Método de extensión:
En el ejemplo, solo el elemento de milisegundos en el año, mes y día. |
Si necesita mostrar el mes o la semana lleno o simple, puede agregar la configuración correspondiente al CFG.
Cómo usar:
var fecha = nueva fecha ();
var str = formatDate (fecha, 'yyyy año mmm mes dd day');
El valor de STR es el 29 de julio de 2012
Copiar código del código de la siguiente manera:
/**
* Entero formatal
* @param número: número para formatear el entero
* @param fmt: formato entero de cadena
*/
Función formatNumber (número, fmt) {
número = número + '';
if (fmt.length> number.length) {
Return fmt.substring (number.length) + número;
}
Número de devolución;
}
/**
* La fecha de formato es la representación de la cadena
* @param dateTime: fecha para formatear el objeto de fecha
* @param formato: formato de fecha de cadena
*/
Función formatDate (dateTime, format) {{
var cfg = {
Mmm: ['one', 'dos', 'tres', 'cuatro', 'cinco', 'Six', 'siete', 'ocho', 'nueve', 'diez', 'once', 'diez dos dos '],
Mmmm: ['one', 'dos', 'tres', 'cuatro', 'cinco', 'seis', 'siete', 'ocho', 'nueve', 'diez', 'once', 'diez dos ']
},
Valores = {{
y: masa.gettylyar (),
M: masa.getmonth (),
D: Datetime.getDate (),
H: fechas.gethours (),
m: masa.getminutes (),
S: Dough.getSeconds (),
S: masa.getmilliseConds ()
};
/*Use una expresión regular para dividir el formato de fecha de cada elemento*/
var elems = format.match (/y+| m+| d+| h+| m+| s+| s+| [^ymdhmss]/g);
// reemplazar el elemento de fecha al valor real
para (var i = 0; i <elems.length; i ++) {
if (cfg [elems [i]]) {
Elems [i] = cfg [elems [i]] [valores [elems [i] .charat (0)] ;;
} Else if (valores [elems [i] .charat (0)]) {) {
Elems [i] = formatNumber (valores [elems [i] .charat (0)], elems [i] .replace (/./ g, '0'));
}
}
Return elems.Join ('');
}