BakuJS

[ Accueil ] [ Français ]

Date

Date.prototype._getMonthName([langue])

Retour le nom du mois d'une date.

  1. langue (string) : 'fr' pour français.
    Si non renseigné, utilise la langue du navigateur.
new Date('2012-09-30')._getMonthName(); // septembre  

Date.prototype._getDayName([langue])

Retour le nom du jour de la semaine d'une date.

  1. langue (string) : 'fr' pour français.
    Si non renseigné, utilise la langue du navigateur.
new Date('2012-09-30')._getDayName(); // dimanche

Date.prototype._getDayOfYear()

Retour le numéro du jour de l'anné d'une date.

new Date('2012-09-30')._getDayOfYear(); // 275

Date.prototype._getWeek([mode])

Retour le numéro de semaine d'une date.

  1. mode (int) : 1 pour ISO (la semaine commence par le lundi), 0 pour US/UK (la semaine commande par le dimanche).
    Si non renseigné, retourne au format ISO.
new Date('2012-09-30')._getWeek();  // 39 (format ISO)
new Date('2012-09-30')._getWeek(0); // 40 (format US/UK)

Date.prototype._toStringFormat(pattern, [langue])

Retour une version formatée de la date.

  1. pattern (string) : formatage de la date. (Voir les règles dans le tableau ci-dessous.)
  2. langue (string) : 'fr' pour français.
    Si non renseigné, utilise la langue du navigateur.
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é

Math

Math._roundDecimal(number, decimal)

Arrondir à une décimale précise.

  1. number (Number) : nombre à arrondir
  2. decimal (int) : nombre de décimales à concerver en arrondissant (0.5 est arrondi à 1)
Math._roundDecimal(123.5678,  2);  // 123.57
Math._roundDecimal(123.5678, -2);  // 100

Number

Number.prototype._formatByPattern([pattern, [params]])

Formate un nombre avec un pattern.

  1. pattern (String) : règles de formatages. (Voir les règles dans le tableau ci-dessous.)
    Si non renseigné, utilisera le pattern '#,###'.
  2. params (Object) :
    - dot : forme du séparateur de décimales (défaut : rien)
    - space : sparateur de millier (ou autre) (défaut : rien)
    - language : langue de formatage (défaut : langue du navigateur)
    Si non renseigné, aucun params.
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 : '_'}

Number.prototype._format([params])

Formate un nombre avec différents paramètres.

  1. params (Object) :
    - groupingSize : séparateur de lisiblité (0 = aucun)
    - zeroDigitSize : nombre de chiffres minimums
    - decimalSize : nombre de décimales affichées
    - decimalZeroSize : nombre de chiffres minimums en décimal
    - dot : forme du séparateur de décimales (défaut : rien)
    - space : spérateur de millier (ou autre) (défaut : rien)
    - unit : rien ou %
    Si non renseigné, aucun params.
new Number(2591.5978)._format({groupingSize : 3, decimalSize : 2, dot : ',', space : ' '});  // 2 591,6

String

String.prototype._format(var1[, var2...n])

Formateur suivant un ouplusieurs paramètres.

  1. var1 (mixed) :
    - si Array : prend la liste et ignore les autres valeurs
    - si Object : prend l'object et ignore les autres valeurs
    - sinon : prend la liste des valeurs (var1, var2, var3, etc.) suivant leur position
    Si non renseigné, ne formate rien.

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 :


"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} } }

choice

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.

number

Le formateur numérique support les mêmes patterns que Number.prototype._format().

{0, number, #,##0:fr}

date

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.

String.prototype._padLeft(n, str[, mode])

Étrendre une chaîne par la gauche avec un masque.

  1. n (int) : taille souhaitée de la chaîne.
  2. str (String) : chaine pour le masque de répétion
  3. mode (String) :
    rien (défaut) : répète la chaîne autant de fois que possible en partant de la gauche.
    - l : répète la chaîne comme un masque qui part de la droite vers la gauche.
    - r : répète la chaîne comme un masque qui part de la gauche vers la droite.
    Si non renseigné, prend le mode par défaut. Si la chaîne est de taille 1, le mode est ignoré.
'X'._padLeft(10, 'ABCD')       // DABCDABCDX
'X'._padLeft(10, 'ABCD', 'l')  // CDABCDABCX
'X'._padLeft(10, 'ABCD', 'r')  // ABCDABCDAX

String.prototype._padRight(n, str[, mode])

Étrendre une chaine par la droite avec un masque.

  1. n (int) : taille souhaitée de la chaine.
  2. str (String) : chaîne pour le masque de répétion
  3. mode (String) :
    rien (défaut) : répète la chaîne autant de fois que possible en partant de la droite.
    - l : répète la chaîne comme un masque qui part de la droite vers la gauche.
    - r : répète la chaîne comme un masque qui part de la gauche vers la droite.
    Si non renseigné, prend le mode par défaut. Si la chaîne est de taille 1, le mode est ignoré.
'X'._padRight(10, 'ABCD')       // XABCDABCDA
'X'._padRight(10, 'ABCD', 'l')  // XDABCDABCD
'X'._padRight(10, 'ABCD', 'r')  // XBCDABCDAB

DOM

Raccourcis

Aides

Exemples

baku.dom.list('h2 + div')
    ._css({'color' : 'red', 'text-decoration' : 'underline'})
    ._rmClass('ko');
Fork me on GitHub