Mit Datum aus Textfeld rechnen

UrsA

Mitglied
Hallo Zusammen

Ich möchte für ein PDF-Formular aus einem Textfeld, in welches ich ein Antrags-Datum (Datum) eintrage, dieses auslesen. Wenn meine Checkbox gedrückt ist, soll dieses Datum um ein Jahr, ansonsten um 30 Tage erhöht werden und in das Feld "Dauer" eingetragen werden. Mit dem aktuellen Datum habe ich dies so gelöst (Dem Feld Datum zugewiesen):

var Logo = this.getField("SelectLogo");
var Datum = new Date();
var Dauer = this.getField("Dauer");

var tag1 = Datum.getDate() +0;
var monat1 = Datum.getMonth() +1;
var jahr1 = Datum.getYear() +1901;

var tag2 = Datum.getDate() +0;
var monat2 = Datum.getMonth() +4;
var jahr2 = Datum.getYear() +1900;


if (this.getField("SelectLogo").isBoxChecked(0))
Dauer.value = tag1+"."+monat1+"."+jahr1;
else
Dauer.value = tag2+"."+monat2+"."+jahr2;

Kann mir Jemand sagen, wie ich das machen muss?

Danke und Gruss
UrsA
 

Anhänge

Falls das wirklich Java ist und nicht JavaScript, solltest du gar nicht so arbeiten. Viele der Methoden sind in Java deprecated. Es wäre besser mit Klassen aus dem Paket java.time zu arbeiten.
 
Ah, jetzt ist der Thread auch verschoben.
Es wird var Datum = new Date(); für die Berechnung des neuen Datums verwendet, statt der Wert aus Dauer.value - oder wie auch immer das Feld heißt aus welchem das Datum gelesen werden soll.
Ich denke das müsste in etwa so laufen:
Java:
if (Dauer.value) {
    var parts = Dauer.value.split('.');
    var date = new Date(parts[2], parts[1] - 1, parts[0]);
    // ... irgendwas mit dem date machen ...
}
PS: Variablennamen schreibt man auch in JS klein.
 
Zuletzt bearbeitet:
Das dürfte das JavaScript sein, das in PDFs eingebettet werden kann.

Habe da jetzt auf Anhieb keine gute EInstiegsseite von Adobe zu gefunden, aber https://helpx.adobe.com/de/acrobat/using/add-debug-javascript.html zeigt ein paar Dinge auf (Debugger, Script Editor, ...)

Aber viel mehr Ahnung habe ich davon auch nicht. 🙂
Danke für Deine Antwort. Ich bin nicht Programmierer, sondern versuche einfach die Problembeschreibung zu lösen. Da ich es für PDF verwende, wird es Java Script sein. Ich werde das schon irgendwie hinbringen 🙂
 
Ah, jetzt ist der Thread auch verschoben.
Es wird var Datum = new Date(); für die Berechnung des neuen Datums verwendet, statt der Wert aus Dauer.value - oder wie auch immer das Feld heißt aus welchem das Datum gelesen werden soll.
Ich denke das müsste in etwa so laufen:
Java:
if (Dauer.value) {
    var parts = Dauer.value.split('.');
    var date = new Date(parts[2], parts[1] - 1, parts[0]);
    // ... irgendwas mit dem date machen ...
}
PS: Variablennamen schreibt man auch in JS klein.
Sorry, dass ich im falschen Forum war und Danke für Deinen Input. Hilft mir etwas weiter.
 

Zurück
Oben