Retour le nom du mois d'une date.
new Date('2012-09-30')._getMonthName(); // septembre
Retour le nom du jour de la semaine d'une date.
new Date('2012-09-30')._getDayName(); // dimanche
Retour le numéro du jour de l'anné d'une date.
new Date('2012-09-30')._getDayOfYear(); // 275
Retour le numéro de semaine d'une date.
new Date('2012-09-30')._getWeek(); // 39 (format ISO)
new Date('2012-09-30')._getWeek(0); // 40 (format US/UK)
Retour une version formatée de la date.
new Date('2012-02-03T17:04:01')._toStringFormat('dd/MM/yyyy HH\\h mm\\m ss\\s SSS'; // 03/02/2012 17h 04m 01s 000
Les règles sont les suivantes (avec la date '2012-02-03T17:04:01') :
Règle | Rendu (fr) | Détail |
---|---|---|
yyyy | 2012 | Numéro de l'année sur 4 chiffres |
yy | 12 | Numéro de l'année sur 2 chiffres |
MMMM | février | Nom du mois |
MMM | fév | Nom du mois sur 3 lettres |
MM | 02 | Numéro du mois sur 2 chiffres |
M | 2 | Numéro du mois |
ww | 05 | Numéro de semaine sur 2 chiffres |
w | 5 | Numéro de semaine |
DDD | 034 | Numéro du jour d'année sur 3 chiffres |
D, DD | 34 | Numéro du jour d'année |
dd | 03 | Numéro du jour du mois sur 2 chiffres |
d | 3 | Numéro du jour du mois |
F | 4 | Numéro du jour de la semaine : 0 - dimanche, 1 - lundi, 2 - mardi, 3 - mercredi, 4 - jeudi, 5 - vendredi, 6 - samedi |
EEEE | jeudi | Jour de la semaine |
EEE | jeu | Jour de la semaine sur 3 lettres |
E | j | Première lettre du jour de la semaine |
a | PM | AM de 1:00 à 12:59 heures, PM de 13:00 à 0:59 heure |
HH | 17 | Heure sur 24 heures (0-23) sur 2 chiffres |
H | 17 | Heure sur 24 heures (0-23) |
kk | 17 | Heure sur 24 heures (1-24) sur 2 chiffres |
k | 17 | Heure sur 24 heures (1-24) |
hh | 05 | Heure sur 12 heures sur 2 chiffres |
h | 5 | Heure sur 12 heures |
mm | 04 | Minutes sur 2 chiffres |
m | 4 | Minutes |
ss | 01 | secondes sur 2 chiffres |
s | 1 | secondes |
SSS, SSSS, ... | 000 | milliseconds sur 3 chiffres |
S, SS | 0 | milliseconds |
\ | Permet de protéger un caractère pour qu'il ne soit pas interprêté |
Arrondir à une décimale précise.
Math._roundDecimal(123.5678, 2); // 123.57
Math._roundDecimal(123.5678, -2); // 100
Formate un nombre avec un pattern.
new Number(2591.5978)._formatByPattern('#,###.00', {language : 'fr'}); // 2 591,60
Les règles sont les suivantes :
Règle | Nombre | Rendu (fr) | Note |
---|---|---|---|
#### | 1234.456789 | 1234 | Un nombre entier |
#,### | 1234.456789 | 1 234 | L'espace est insécable. |
#,#,### | 123456 | 123 456 | La première virgule en partant de droite est la référence. |
000000 | 1234.456789 | 001234 | La taille minimum correspond au nombre de 0. |
000,000 | 1234.456789 | 001 234 | |
##,#00 | 1.23 | 01 | |
#.# | 1.55 | 1,6 | Les valeurs sont arrondies au supérieur. |
#.00 | 1.5 | 1,50 | |
#.00## | 1.54589 | 1,5459 | Le nombre de # & 0 donne la taille maximum de décimale, les 0 donnes la tailles minimal. |
#.00## | 1.5 | 1,50 | |
0,000.00## | 1.5 | 0 001,50 | |
###% | 1.5 | 150% | Passe la valeur en pourcentage (×100). |
#,###.00:en | 1245.597 | 1,245.60 | Force le format anglais. |
#,###.00 | 1245.597 | 1_245!60 | Avec les params {dot:'!', space : '_'} |
Formate un nombre avec différents paramètres.
new Number(2591.5978)._format({groupingSize : 3, decimalSize : 2, dot : ',', space : ' '}); // 2 591,6
Formateur suivant un ouplusieurs paramètres.
Pour faire simple, voilà les équivalences d'écriture :
'Le petit {0} de la {1}.'._format('chien', 'voisine'); // Le petit chien de la voisine.
'Le petit {0} de la {1}.'._format(['chien', 'voisine']); // Le petit chien de la voisine.
'Le petit {animal} de la {personne}.'._format({ animal : 'chien', personne : 'voisine'}); // Le petit chien de la voisine.
Il est possible d'aller plus loin et d'utiliser les formateurs :
{0, choice, 1# an|1> ans}
{0, number, #,##0}
{0,date, dd/MM/yyyy}
"Il y a {0, number, #,##0:fr} jour{0, choice,1>=|1<s}".format(1200); // Il y a 1 200 jours
"Il y a {jours, number, #,##0:fr} jour{jours, choice,1>=|1<s}".format({jours : 1}); // Il y a 1 jour
"Le resultat est {0, choice, 10>{1}|10<={2}}.".format([12, 'petit', 'grand']); // Le resultat est grand
Il n'y pas de limite dans le nombre de récursions. Ceci est possible :
{0, choice, 1# {1, number, {2} }| 2# {1, date, {2} } }
Le formateur support les conditions suivantes suivant un « ou ». Dans l'ordre, la première qui sera vraie sera validée :
{0, choise, 0# rien|2> peu de choses|5>= un peu plus de chose|5< beaucoup de chose}
Attention : il n'y a pas valeur si aucune condition respectée.
Le formateur numérique support les mêmes patterns que Number.prototype._format().
{0, number, #,##0:fr}
Le formateur numérique support les mêmes patterns que Date.prototype._toStringFormat().
{0, date, dd/MM/yyyy}
Attention : la date d'entrée doit être au format ISO (Ex. : 2016-10-20T17:59:59.000) ou japonais (2016/10/20 17:59:59.000). Les formats français (JJ/MM/AAAA) et US (MM/JJ/AAAA) posent des problèmes suivant le navigateur.
Étrendre une chaîne par la gauche avec un masque.
'X'._padLeft(10, 'ABCD') // DABCDABCDX
'X'._padLeft(10, 'ABCD', 'l') // CDABCDABCX
'X'._padLeft(10, 'ABCD', 'r') // ABCDABCDAX
Étrendre une chaine par la droite avec un masque.
'X'._padRight(10, 'ABCD') // XABCDABCDA
'X'._padRight(10, 'ABCD', 'l') // XDABCDABCD
'X'._padRight(10, 'ABCD', 'r') // XBCDABCDAB
baku.dom.id = document.elementById
baku.dom.first = document.querySelector
baku.dom.list = document.querySelectorAll
baku.dom.new = document.createElement
HTMLElement._css()
: ajout s'implifié de CSS sur un élement du DOMHTMLElement._addClass()
: ajout s'implifié d'une classe sur un élement du DOMHTMLElement._rmClass()
: ajout s'implifié d'une classe sur un élement du DOMNodeList._css()
: ajout s'implifié de CSS sur une liste d'élements du DOMNodeList._addClass()
: ajout s'implifié d'une classe sur une liste d'élements du DOMNodeList._rmClass()
: suppression s'implifié d'une classe sur une liste d'élements du DOMbaku.dom.list('h2 + div')
._css({'color' : 'red', 'text-decoration' : 'underline'})
._rmClass('ko');