Le formatage de date fourni par JavaScript est trop simple. , et soutient même le formatage sans séparateurs comme yyyymmdd.
Principes: utilisez l'expression régulière pour diviser les éléments de date dans le modèle de date [tels que Yyyyy, MM, DD] et les séparateurs, puis utilisez la valeur réelle pour remplacer l'élément de date pour former la chaîne de date.
Un total de deux fonctions sont implémentées et la pâte peut être exécutée.
Méthode d'extension:
Dans l'exemple, seul l'élément de millisecondes dans l'année, le mois et le jour. | D + | H + |
Si vous devez afficher le mois ou la semaine comme complet ou simple, vous pouvez ajouter la configuration correspondante au CFG.
Comment utiliser:
var date = new Date ();
var str = formatdate (date, «yyyy an mmm mois dd day»);
La valeur de STR est le 29 juillet 2012
Copier le code du code comme suit:
/ **
* Entier formatal
* @param numéro: numéro pour formater l'entier
* @param fmt: format entier de chaîne
* /
Fonction FormatNumber (numéro, fmt) {
nombre = nombre + '';
if (fmt.length> nombre.length) {
Return fmt.SubString (norber.length) + nombre;
}
Numéro de retour;
}
/ **
* La date de formatage est la représentation des chaînes
* @param datetime: date pour formater l'objet date
* Format @param: format de date de chaîne
* /
Fonction FormatDate (DateTime, Format) {{{
var cfg = {
Mmm: [«one», «deux», «trois», «quatre», «cinq», «six», «sept», «huit», «neuf», «dix», «onze», «dix deux '],
Mmmm: [«one», «deux», «trois», «quatre», «cinq», «six», «sept», «huit», «neuf», «dix», «onze», «dix deux ']
},
Valeurs = {{
y: Dough.getlyear (),
M: Dough.getMonth (),
D: dateTime.getDate (),
H: dates.gethours (),
m: Dough.getMinutes (),
S: Dough.getSeconds (),
S: Dough.getMilliseconds ()
};
/ * Utilisez une expression régulière pour diviser le format de date de chaque élément * /
var elems = format.match (/ y + | m + | d + | h + | m + | s + | s + | [^ ymdhmss] / g);
// remplace l'élément de date à la valeur réelle
pour (var i = 0; i <elems.length; i ++) {
if (cfg [elems [i]]) {
elems [i] = cfg [elems [i]] [valeurs [elems [i] .charat (0)] ;;
} Else if (valeurs [elems [i] .charat (0)]) {) {
Elems [i] = formatNumber (valeurs [elems [i] .charat (0)], elems [i] .replace (/./ g, '0'));
}
}
Retour Elems.Join ('');
}