Skip to main content
Participant
November 13, 2023
Question

Calculer automatique une date de naissance en rentrant un âge

  • November 13, 2023
  • 4 replies
  • 784 views

Bonjour, 

Je dois, sur un formulaire PDF, mettre un script de calcul sur une case Age afin de calculer automatiquement une date en fonction de cet Age (soit à la date d'aujourd'hui, soit borner au 01 janvier). Je sais pas si je suis bien clair...

Merci d'avance pour vos réponses 🙂

This topic has been closed for replies.

4 replies

Abambo
Community Expert
Community Expert
November 13, 2023

Si je rentre mon âge, tu ignores si je suis né « année courante-âge ». Parce que mon année d'anniversaire peut être une année avant ou une année après.

ABAMBO | Hard- and Software Engineer | Photographer
Participant
November 13, 2023

Merci pour vos réponses, j'ai reussi a terminer :

var button = this.getField("b1");
var d = new Date();
var age = Number(this.getField("Age").valueAsString);
if(age == "")
event.value = "";
else {
if(button.isBoxChecked(0))
{d.setDate(1);
d.setMonth(0);}
else
{d.value = new Date();}
d.setFullYear(d.getFullYear()-age);
event.value = util.printd("dd/mm/yyyy", d);}
JR Boulay
Community Expert
Community Expert
November 13, 2023

Je crois que ce fichier PDF d'exemple contient exactement ce que vous cherchez (et en Français) :

https://www.abracadabrapdf.net/pdf-de-demo/formulaires/javascript-age-du-capitaine/

Acrobate du PDF, InDesigner et Photoshopographe
try67
Community Expert
Community Expert
November 13, 2023

Take the current date and reduce X years from it based on the age field.

For example, you can use this code as the custom calculation script of the text field where you want to show the result:

 

var d = new Date();
var age = Number(this.getField("Age").valueAsString);
d.setFullYear(d.getFullYear()-age);
event.value = util.printd("mm/dd/yyyy", d);

 

Note that the result is NOT the birthdate of that person, though.

Participant
November 13, 2023

Merci, effectivement c'est ce que j'ai trouvé aussi, il me reste juste à integrer une case à cocher pour indiquer quand je souhaite que la date de naissance soit au 01 janvier, je bloque un peu sur cette partie. Je n'arrive pas à trouver les conditions à mettre pour le réaliser

try67
Community Expert
Community Expert
November 13, 2023

If you wish to set it to Jan 1, add these lines to the code after the setFullYear command:

 

d.setDate(1);
d.setMonth(0);