Einzelne Tage zwischen zwei Daten anzeigen

Fragen & Antworten zur Steuerung von 3D Inhalten in PDFs über JavaScript
Antworten
Benutzeravatar
Stuttgarter
Beiträge: 40
Registriert: 29.03.2007, 12:59

Einzelne Tage zwischen zwei Daten anzeigen

Beitrag von Stuttgarter » 12.02.2013, 13:24

Hallo Acronauten,

man kann einige Berechnungen mit Daten im PDF machen, bei einem Problem komme ich aber nicht weiter.

Ich habe Datum x und Datum y. Jetzt möchte ich die einzelnen Datums zwischen Datum x und Datum y anzeigen lassen, das ganze klappt, solange ich keine Monats oder Jahresgrenze überschreite. Habt Ihr eine Idee?

Hab gegoogelt, aber bis jetzt noch nichts gefunden.

Beste Grüße,
Constantin

Benutzeravatar
Stuttgarter
Beiträge: 40
Registriert: 29.03.2007, 12:59

Einzelne Tage zwischen zwei Daten anzeigen

Beitrag von Stuttgarter » 12.02.2013, 15:01

Ich habe es doch schneller als erwartet selbst gelöst bekommen :)

Die Lösung liegt in den Millisekunden. Hier mal meine Lösung, falls jemand die gleiche Problematik hat:

for (var i = 0; i<=days; i++)
{
var field_date = this.getField("date_start").value;
var datum = util.scand("yyyy.mm.dd",field_date);

var newdate = new Date(datum .getTime() + i * 24 * 60 * 60 * 1000)
}

Benutzeravatar
Merklin
Beiträge: 1857
Registriert: 04.04.2009, 17:03

Einzelne Tage zwischen zwei Daten anzeigen

Beitrag von Merklin » 13.02.2013, 09:54

Hallo Constantin,

vielen Dank für dein Script. Hier auch noch eine andere Möglichkeit.

Code: Alles auswählen

var strStart = this.getField("Text1").value;
var strEnd = this.getField("Text2").value;
if(strStart.length && strEnd.length)
{
  var dateStart = util.scand("dd.mm.yyyy",strStart);
  var dateEnd = util.scand("dd.mm.yyyy",strEnd);
  var diff = dateEnd.getTime() - dateStart.getTime();
  var oneDay = 24 * 60 * 60 * 1000;
  var days = Math.floor(diff/oneDay);
  event.value = days;
}
else
  event.value = 0;
Das gibst du ins dritte Feld, unter benutzerdef. Berechnungsscript ein.

VG Merklin

Benutzeravatar
Stuttgarter
Beiträge: 40
Registriert: 29.03.2007, 12:59

Einzelne Tage zwischen zwei Daten anzeigen

Beitrag von Stuttgarter » 14.02.2013, 16:52

Hi Merklin,

dein Script gibt die Anzahl der Tage zurück.

Ich wollte ein Script das die Anzahl der Tage berechnet und dann die einzelnen Daten ausgibt.
z.B.:
Anzahl Tage: 5
Startdatum: 31.01.2013

dann ist newdate in der Schleife:
31.01.2013
01.02.2013
02.02.2013
usw.

Viele Grüße,
Constantin

Benutzeravatar
Merklin
Beiträge: 1857
Registriert: 04.04.2009, 17:03

Einzelne Tage zwischen zwei Daten anzeigen

Beitrag von Merklin » 15.02.2013, 07:55

Hallo Stuttgarter,

alles klar.
Aber mir scheint das hier noch etwas fehlt, oder?

Wo und in welchen Event wird das Script hinterlegt? Verwendest du hier ein Listenfeld?

VG Merklin

HH-Joh.
Beiträge: 1
Registriert: 08.06.2015, 10:49

Einzelne Tage zwischen zwei Daten anzeigen

Beitrag von HH-Joh. » 08.06.2015, 17:45

Hallo,
ist ja schon lange her und nun arbeit ich mit Acrobat X.
wie kann ich machen, dass der Code

Code: Alles auswählen

var strStart = this.getField("Text1").value;
var strEnd = this.getField("Text2").value;
if(strStart.length && strEnd.length)
{
  var dateStart = util.scand("dd.mm.yyyy",strStart);
  var dateEnd = util.scand("dd.mm.yyyy",strEnd);
  var diff = dateEnd.getTime() - dateStart.getTime();
  var oneDay = 24 * 60 * 60 * 1000;
  var days = Math.floor(diff/oneDay);
  event.value = days;
}
else
  event.value = 0;
auch die Übergänge von Sommerzeit /Winterzeit berücksichtigt?

Gruß Johanna

wtwinni
Beiträge: 5
Registriert: 04.08.2015, 16:09

Einzelne Tage zwischen zwei Daten anzeigen

Beitrag von wtwinni » 04.08.2015, 16:32

Hallo ,

ich brauche zu folgendem Script eine kleine Änderung:

var strStart = this.getField("Text1").value;
var strEnd = this.getField("Text2").value;
if(strStart.length && strEnd.length)
{
  var dateStart = util.scand("dd.mm.yyyy",strStart);
  var dateEnd = util.scand("dd.mm.yyyy",strEnd);
  var diff = dateEnd.getTime() - dateStart.getTime();
  var oneDay = 24 * 60 * 60 * 1000;
  var days = Math.floor(diff/oneDay);
  event.value = days;
}
else
  event.value = 0;

Es geht dabei um eine Fahrzeugübergabe.
Wenn der Kunde das Fahrzeug am 04.08.2015 bekommt und am 04.08.2015 wieder abgiebt, soll dies als 1 Benutzungstag gewertet werden.

Über eine Hilfe wäre ich sehr dankbar

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Einzelne Tage zwischen zwei Daten anzeigen

Beitrag von armine » 05.08.2015, 12:43

Hallo,

versuche es mal so:

vg armine
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

wtwinni
Beiträge: 5
Registriert: 04.08.2015, 16:09

Einzelne Tage zwischen zwei Daten anzeigen

Beitrag von wtwinni » 06.08.2015, 09:34

Hat super funktioniert.

Vielen Dank

Antworten