lucavandro / CodiceFiscaleJS

CodiceFiscale.js is a utility library to compute and validate Italian Tax code (codice fiscale).
Creative Commons Attribution Share Alike 4.0 International
197 stars 77 forks source link

Reverse calcola male il giorno di nascita #16

Closed adfdev closed 5 years ago

adfdev commented 5 years ago

Quando si procede al reverse di qualunque codice fiscale il giorno di nascita viene sempre restituito con un giorno in più o in meno. Come mai?

guidoiaquinti commented 5 years ago

Probably related to https://github.com/lucavandro/CodiceFiscaleJS/pull/15

adfdev commented 5 years ago

Con questo fix si sistema il giorno ma ora il mese me lo da di un mese indietro quindi sbagliato

arseniosiani commented 5 years ago

@adfdev puoi postare un esempio? è possibile che il giorno di nascita sia il 1° del mese?

adfdev commented 5 years ago

no ho provato con giorno 23 e mese giugno e nel reverse codice fiscale mi da 22 data.

gbonline commented 5 years ago

Sul sito di mozilla per il costruttore Date, viene indicato che di default viene considerato il time "locale" ovvero tiene conto della timezone impostata nel sistema. e da anche la soluzione usare Date.UTC() Date

Note: Where Date is called as a constructor with more than one argument, the specified arguments represent local time. If UTC is desired, use new Date(Date.UTC(...)) with the same arguments.

per cui risulta indispensabile correggere l'assegnamento della var birthday da this.birthday = new Date(year, month, day, 0, 0, 0, 0); a this.birthday = new Date(Date.UTC(year, month, day, 0, 0, 0, 0));

arseniosiani commented 5 years ago

giusto per completezza, visto che mi sono an che imbattuto in questo problema, e visto che usare il costruttore Date() sembra essere una sovrastrutturazione che può essere risparmiata (IMHO), ho creato questo modulo cfjs, che partendo dal codice (fantastico) di questo repo, estrae e mette a disposizione solo i metodi necessari. Spero che qualcuno lo possa trovare utile.

lucavandro commented 5 years ago

Hello everyone! Thank you all for your interest in this project and for your helpful contribution. I've fixed the issue in the last commit.

Happy coding!

lucavandro commented 5 years ago

giusto per completezza, visto che mi sono an che imbattuto in questo problema, e visto che usare il costruttore Date() sembra essere una sovrastrutturazione che può essere risparmiata (IMHO), ho creato questo modulo cfjs, che partendo dal codice (fantastico) di questo repo, estrae e mette a disposizione solo i metodi necessari. Spero che qualcuno lo possa trovare utile.

Ciao Arsenio. Grazie per il tuo aiuto e complimenti per il tuo progetto. Spero di poter confidare sul tuo contributo in questo progetto anche in futuro.

simentesempre commented 4 years ago

Riscontriamo ancora il problema del giorno di nascita. Anche sul sito di demo https://lucavandro.github.io/CodiceFiscaleJS/ se io faccio il reverse sul mio cf come giorno di nascita esce il 23 ma io sono nato il 24 mentre il mio collega riscontra il giorno corretto.

lucavandro commented 4 years ago

Riscontriamo ancora il problema del giorno di nascita. Anche sul sito di demo https://lucavandro.github.io/CodiceFiscaleJS/ se io faccio il reverse sul mio cf come giorno di nascita esce il 23 ma io sono nato il 24 mentre il mio collega riscontra il giorno corretto.

Salve. Sarebbe utile conoscere qualche dettaglio in più per risolvere correttamente il problema. Mi contatti privatamente al mio indirizzo email lucavandro@gmail.com