Donnez vie à vos documents numériques !
 

Date + X jours

abracadabraPDF Forums PDF – Général Date + X jours

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45914
    romain05
    Membre

    Bonjour à tous,

    Je souhaite intégrer dans mon formulaire un champs automatique qui va reprend la date d’un champs et y ajouter + 1 jours.

    Exemple date de fin au 30/01/2018
    Le champs calculé donnera : 31/01/2018

    Par avance, merci

Affichage de 12 réponses de 1 à 12 (sur un total de 12)
  • Auteur
    Réponses
  • #64529
    bebarth
    Maître des clés

    bonjour,
    Regarde ce post, cela devrait t’aider…
    https://abracadabrapdf.net/forum/index.php/topic,3480.msg20773.html#msg20773
    Il faudra évidemment adapter le script à ce que tu veux faire exactement !
    @+
    :bonjour:

    #64530
    bebarth
    Maître des clés

    bonjour,
    Voici une solution si tu n’y es pas arrivé tout seul :

    Code:
    //Récupération des éléments de la date
    var chaine = this.getField(« laDate »).valueAsString;
    var jour = chaine.substring(0,2);
    var mois = chaine.substring(3,5);
    var annee = chaine.substring(6,10);
    //Définition de l’objet date + 1 jour (les mois sont numérotés de 0 à 11)
    var d = new Date(annee,(mois-1),jour);
    var n = d.getTime()+(1*24*3600*1000);// 1 pour 1 jour, n en millisecondes
    var date = new Date(n);
    this.event.target.value = date;

    @+
    :bonjour:

    #64531
    romain05
    Membre

    Bonjour Bebarth,
    C’est juste parfait ! je te remercie, je n’y serais pas arrivé seul je pense :)
    Afin de rendre ce champ optimal pourrais-tu me dire comment indiquer que si le champ « laDate » est vide alors ce champs est vide ?

    Encore merci

    #64532
    bebarth
    Maître des clés
    Code:
    var chaine = this.getField(« laDate »).valueAsString;
    if (chaine != «  ») {
      //Récupération des éléments de la date
      var jour = chaine.substring(0,2);
      var mois = chaine.substring(3,5);
      var annee = chaine.substring(6,10);
      //Définition de l’objet date + 1 jour (les mois sont numérotés de 0 à 11)
      var d = new Date(annee,(mois-1),jour);
      var n = d.getTime()+(1*24*3600*1000);// 1 pour 1 jour, n en millisecondes
      var date = new Date(n);
      this.event.target.value = date;
    } else {
      this.event.target.value = «  »;
    }

    @+
    :bonjour:

    #64533
    romain05
    Membre

    C’est juste parfait, merci beaucoup !

    #64534
    Merlin
    Maître des clés

    :bravo:

    #64535
    Minamaya
    Membre

    Bonjour !
    Merci beaucoup pour ce post, je dois calculer une date + un nombre X de mois.

    J’ai téléchargé le fichier exemple de bebarth avec le code incluant le remise à zéro du champ si le champ Date est vide, mais je ne comprend pas le seul résultat que cela me donne dans la date du jour.

    Si cela avait fonctionné, j’aurais tenté de modifier pour entrer une date dans un champ + un nombre de mois dans un autre champ pour me donner une « date en résultat » (après l’addition du nombre de mois indiqué).

    Merci beaucoup par avance si quelqu’un pouvait m’aider à ce sujet.

    Mimi  :Smiley01:

    #64536
    bebarth
    Maître des clés

    bonjour,

    J’ai téléchargé le fichier exemple bebarth avec le code incluant le remise à zéro du champs si le champs de la date est vide, mais je ne comprends pas, le seul résultat que cela me donne dans la date du jour.

    Il n’y a pas de raison, je viens de vérifier et ça fonctionne !

    Si cela avait fonctionné, j’aurais tenté de modifier pour entrer une date dans un champs + un nombre de mois dans un autre champs pour me donner une « date en résultat » (après l’addition du nombre de mois indiqué).

    Que ce soit un mois de 28 ou 31 jours, ce doit toujours être le même jour plus un mois ?
    Si on est le 31 janvier, c’est quelle date avec un mois de plus ?
    @+
    :bonjour:

    #64537
    Merlin
    Maître des clés

    Bonjour.

    À propos de corrections : merci d’éviter de placer des balises inutiles dans le texte, c’est catastrophique pour le SEO (optimisation pour les moteurs de recherches). Voir la capture jointe.

    Pour le français c’est autre chose, je corrige aussi parfois les messages mais c’est toujours dans le but d’améliorer la compréhension par les humains et par les moteurs de recherche. Il ne faut y voir aucune vexation, on sait bien que tout le monde ne maitrise pas notre langue, surtout les non-francophones.
    :geek:

    #64538
    bebarth
    Maître des clés

    re-bonjour,
    Je ne cherche effectivement pas à vexer quiconque et je suis désolé si je l’ai fait malencontreusement.
    J’ai personnellement toujours demandé à mes interlocuteurs anglophones de me corriger lorsque je fais des fautes pour éviter de les refaire !
    Mais c’est également valable pour le français… car je fais des fautes comme tout le monde.
    @+
    :bonjour:

    #64539
    bebarth
    Maître des clés

    Que ce soit un mois de 28 ou 31 jours, ce doit toujours être le même jour plus un mois ?
    Si on est le 31 janvier, c’est quelle date avec un mois de plus ?

    Du coup, pour t’aider, j’aurais besoin que tu me dises un mois après le 31 janvier (par exemple) est-ce le 28 (ou 29) février ou est-ce le 1 mars ?
    @+
    :bonjour:

    #64540
    bebarth
    Maître des clés

    bonjour,
    N’ayant pas de réponse, voici un exemple qui fixe la date au dernier jour du mois s’il y a incompatibilité jour/mois.
    Comme j’en avais besoin pour savoir s’il fallait fixer au 28 ou 29 février, j’ai également écris un script pour savoir si l’année est bissextile ou pas !
    @+
    :bonjour:

    PS. J’ai modifié le fichier avec 2 types formats de champs : « Standard » et « Date ».

Affichage de 12 réponses de 1 à 12 (sur un total de 12)
  • Vous devez être connecté pour répondre à ce sujet.