gtoubiana / acte

Une librairie JavaScript qui simplifie la recherche généalogique.
http://gtoubiana.github.io/acte/
MIT License
0 stars 0 forks source link

jour(string) et day(string) #20

Closed gtoubiana closed 8 years ago

gtoubiana commented 8 years ago

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

gtoubiana commented 8 years ago

Voir #21

gtoubiana commented 8 years ago

'8/5/1972'.split(/\D/); // ["8", "5", "1972"]

gtoubiana commented 8 years ago

voir http://jsfiddle.net/toubia95/0p7h0c6x/

gtoubiana commented 8 years ago

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

gtoubiana commented 8 years ago
/\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

https://regex101.com/r/aC9uI9/3

gtoubiana commented 8 years ago

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);
gtoubiana commented 8 years ago

voir également https://jsfiddle.net/toubia95/109bdqkk/

gtoubiana commented 8 years ago

exemples de syntaxe avec des masques de saisie : voir http://doc.pcsoft.fr/fr-FR/?1014016

gtoubiana commented 8 years ago

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.

gtoubiana commented 8 years ago

conversion string vers gregorien ou republicain : http://jsfiddle.net/toubia95/c2t0btye/

gtoubiana commented 8 years ago

voir rep/greg http://jsfiddle.net/toubia95/c2t0btye/