Closed gtoubiana closed 8 years ago
Voir #21
'8/5/1972'.split(/\D/); // ["8", "5", "1972"]
if [/-.] => 12/08/2015 => grégorien
if [janvier|f(é|e)vrier|mars|avril|mai|juin|juillet|ao(û|u)t|septembre|octobre|novembre|d(e|é)cembre] => 12 août 2015 => grégorien
if [(l')?an] => républicain
if [Vendémiaire|Brumaire|Frimaire|Nivôse|Pluviôse|Ventôse|Germinal|Floréal|Prairial|Messidor|Thermidor|Fructidor|san(s-)?culottides|jour(s)? supplémentaire(s)?] => républicain
if [II|III|IV|V|VI|VII|VIII|IX|X|..] => républicain
/\s(\d{1,2})\s((janvier)|(f(é|e)vrier)|(mars)|(avril)|(mai)|(juin)|(juillet)|(ao(u|û)t)|(septembre)|(octobre)|(novembre)|(d(é|e)cembre))\s(\d{2,4})/gi
$1/$2/$18
pour le grégorien : https://regex101.com/r/eB4pN3/2
var re = /\s((\d{1,2})(er)?)\s((janvier)|(f(é|e)vrier)|(mars)|(avril)|(mai)|(juin)|(juillet)|(ao(u|û)t)|(septembre)|(octobre)|(novembre)|(d(é|e)cembre))\s(\d{2,4})/gi;
var str = 'mardi 25 août 2015\nlundi 18 septembre 1985\n28 juin 2013\n01 janvier 1325\n1er janvier 1325\n25 février 1502\n\nif [(l\')?an] => républicain\n\nif [Vendémiaire|Brumaire|Frimaire|Nivôse|Pluviôse|Ventôse|Germinal|Floréal|Prairial|Messidor|Thermidor|Fructidor|san(s-)?culottides|jour(s)? supplémentaire(s)?] => républicain\n\nif [II|III|IV|V|VI|VII|VIII|IX|X|..] => républicain\n\n';
var subst = '$2/$4/$20\n';
var result = str.replace(re, subst);
républicain : https://regex101.com/r/eB4pN3/4
var re = /\s((\d{1,2})(er)?)\s((vend(é|e)miaire)|(brumaire)|(frimaire)|(niv(ô|o)se)|(pluvi(ô|o)se)|(vent(ô|o)se)|(germinal)|(flor(é|e)al)|(prairial)|(messidor)|(thermidor)|(fructidor)|(san(s-)?culottides)|(jour(s)?\scompl(é|e)mentaire(s)?))\s(an)\s([XVI]{1,4})/gi;
var str = 'mardi 25 août 2015\nlundi 18 septembre 1985\n28 juin 2013\n01 janvier 1325\n1er janvier 1325\n25 février 1502 1er Vendémiaire an I\n1er vendémiaire an XIV\n18 jours complémentaires an XI\n19 sanculottides an VIII\n25 floréal An III\n25 prairial An II\n18 fructidor An V\n28 pluviôse An XII\n\nif [(l\')?an] => républicain\n\nif [(vend(é|e)miaire)|(brumaire)|(frimaire)|(niv(ô|o)se)|(pluvi(ô|o)se)|(vent(ô|o)se)|(germinal)|(flor(é|e)al)|(prairial)|(messidor)|(thermidor)|(fructidor)|(san(s-)?culottides)|(jour(s)? (supplémentaire(s)?|compl(é|e)mentaire(s)?))] => républicain\n\nif [II|III|IV|V|VI|VII|VIII|IX|X|..] => républicain\n\n';
var subst = '$2/$4/$29\n';
var result = str.replace(re, subst);
voir également https://jsfiddle.net/toubia95/109bdqkk/
exemples de syntaxe avec des masques de saisie : voir http://doc.pcsoft.fr/fr-FR/?1014016
Exemple de code pour jour() : http://jsfiddle.net/toubia95/vumn5a0s/ Commencer par vérifier si ce n'est pas une date républicaine, puis transformer par défaut en date grégorienne.
conversion string vers gregorien ou republicain : http://jsfiddle.net/toubia95/c2t0btye/
voir rep/greg http://jsfiddle.net/toubia95/c2t0btye/
From @gtoubiana on October 20, 2014 8:28
gnjs.jour(string) => New date gnjs.day(string) => New date (version anglaise)
Détercter différents masques de dates avec regex. voir http://momentjs.com/ et http://www.datejs.com/
Copied from original issue: gtoubiana/bms.js#65