mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 02:43 Benutzername: Passwort: Auto-Login

Thema: Acrobat Formular - aktuelles Datum formatieren vom 26.04.2013


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Software - Nonprint -> Acrobat Formular - aktuelles Datum formatieren
Seite: 1, 2  Weiter
Autor Nachricht
Kanuna
Threadersteller

Dabei seit: 11.03.2013
Ort: GB
Alter: 41
Geschlecht: -
Verfasst Fr 26.04.2013 07:17
Titel

Acrobat Formular - aktuelles Datum formatieren

Antworten mit Zitat Zum Seitenanfang

Hallo!

Ich habe ein PDF-Formular, in welchem ein aktuelles Datum per Javascript eingefügt werden soll, wenn das PDF geöffnet wird. An sich kein Problem, das Script mit var.datum etc. habe ich schon längst gefunden.
Nun habe ich allerdings das Problem, dass dieses aktuelle Datum ein anderes Format als dd.mm.yyyy haben soll. Wenn ich dieses Skript:

Zitat:
var datum = this.getField("Datum");
var datum = new Date();

var tag = datum.getDate();
var monat = datum.getMonth() +1;
var jahr = datum.getYear() +1900;

datum.value = tag+"."+monat+"."+jahr;


verwende, ist klar, dass ich ein Datumsfeld in der Form dd.mm.yyyy bekomme. Meine Formatierung sollte allerdings so aussehen:

yyyymmdd

Und ich bekomme es einfach nicht hin. Ich habe es auch mit diesem Script:

Zitat:
var f = this.getField("Datum");
f.value = util.printd("yyyymmdd", new Date());


probiert, da habe ich allerdings das Problem, dass nicht das aktuelle Tagesdatum gezogen wird. Heißt, das Feld beschreibt sich nicht automatisch neu.

Da ich von Java-Scripten prinzipiell recht wenig Ahnung habe und mich nur durch das Internet gelesen habe, brauche ich jetzt einfach mal Hilfe :>

Zusammengefasst:
Benötigt wird ein Datumsfeld für das aktuelle Tagesdatum, welches ich in die Form yyyymmdd zwängen kann.


Falls irgendjemand Rat weiß, wäre ich sehr dankbar.

Grüße!


Zuletzt bearbeitet von Kanuna am Fr 26.04.2013 07:33, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Poolart

Dabei seit: 07.11.2006
Ort: Erkrath
Alter: 55
Geschlecht: Männlich
Verfasst Fr 26.04.2013 09:03
Titel

Antworten mit Zitat Zum Seitenanfang

Hast du auch mal ausprobiert einfach mal

datum.value = tag+"."+monat+"."+jahr;

in

datum.value = jahr+monat+tag;

umzustellen wenn du yyyymmdd rausbekommen willst.

Das müsste doch auch funktionieren.

Andreas
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
Kanuna
Threadersteller

Dabei seit: 11.03.2013
Ort: GB
Alter: 41
Geschlecht: -
Verfasst Fr 26.04.2013 09:34
Titel

Antworten mit Zitat Zum Seitenanfang

Dann rechnet er alles zusammen und gibt das Ergebnis aus. Heute 2013+4+26 = 2043. Alles schon versucht *zwinker*

Ein Freund und ich haben es jetzt folgendermaßen geregelt:

Zitat:
var datum = this.getField("Datum");
var jetzt = new Date();

var tag = jetzt.getDate();
var monat = jetzt.getMonth() +1;
var jahr = jetzt.getYear() +1900;

datum.value = jahr+""+monat+""+tag;

if (monat<10 && tag<10)
{
datum.value = jahr+"0"+monat+"0"+tag;
}
else if (monat<10 && tag>=10)
{
datum.value = jahr+"0"+monat+""+tag;
}
else if (monat>=10 && tag<10)
{
datum.value = jahr+""+monat+"0"+tag;
}
else
{
datum.value = jahr+""+monat+""+tag;
}


So zieht er sich das aktuelle Datum in der Form YYYYMMDD. Da Acrobat dann nicht erkennt, dass die "0" bei 04 (für April) auch mitgeschrieben werden muss, mussten wir noch diese if-Varianten einbauen. Für die Fälle, dass Monate nur eine einstellige Zahl haben, ebenso wenn Tage eine einstellige Zahl haben.

Was leider nicht möglich war, ist, dass er das Datum automatisch aktualisiert, sobald man das Dokument öffnet. Da gibt es wohl auch eine Möglichkeit über die Dokument-Javascripts, die muss ich mir erstmal noch ansehen. Gelöst habe ich das nun, indem ich im Reiter "Aktionen" die Aktion hinzugefügt habe, das Feld zu aktivieren (=anzuklicken), daraufhin wird das Formular zurückgesetzt. Da das Script ja weiterhin läuft, zieht er sich sofort das aktuelle Datum. Man muss also nur einmal in das Feld klicken. Geht auch.

Grüße!
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
DEKONSTRUKTIV

Dabei seit: 22.06.2009
Ort: bln
Alter: -
Geschlecht: -
Verfasst Fr 26.04.2013 12:25
Titel

Antworten mit Zitat Zum Seitenanfang

Kanuna hat geschrieben:
Dann rechnet er alles zusammen und gibt das Ergebnis aus. Heute 2013+4+26 = 2043.


unsinn.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Kanuna
Threadersteller

Dabei seit: 11.03.2013
Ort: GB
Alter: 41
Geschlecht: -
Verfasst Fr 26.04.2013 12:40
Titel

Antworten mit Zitat Zum Seitenanfang

DEKONSTRUKTIV hat geschrieben:
Kanuna hat geschrieben:
Dann rechnet er alles zusammen und gibt das Ergebnis aus. Heute 2013+4+26 = 2043.


unsinn.


Wow.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 26.04.2013 12:42
Titel

Antworten mit Zitat Zum Seitenanfang

Stichwort Operator-Überladung, das ist schon richtig so. "Unsinn" mag ja generell gültig sein, aber wenn Du die Kritik nicht wenigstens grob erläuterst, kann damit keiner was anfangen.
  View user's profile Private Nachricht senden
pantonine

Dabei seit: 03.03.2011
Ort: gehen Sie bitte weiter…
Alter: -
Geschlecht: -
Verfasst Fr 26.04.2013 12:42
Titel

Antworten mit Zitat Zum Seitenanfang

Nö, nicht Unsinn. Nennt sich dynamische Typumwandlung. Abhilfe schafft, zusätzlich einen String zu konkatenieren.

Code:
alert(''+jahr+monat+tag);


Kannst natürlich auch explizit umwandeln.

Code:
alert(String(jahr) + monat + tag);


[edit]

Korrektur. Ist nicht mal ne Typumwandlung.

Zitat:
alert(typeof jahr); // number


Zuletzt bearbeitet von pantonine am Fr 26.04.2013 12:45, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
pantonine

Dabei seit: 03.03.2011
Ort: gehen Sie bitte weiter…
Alter: -
Geschlecht: -
Verfasst Fr 26.04.2013 12:49
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
Ein Freund und ich haben es jetzt folgendermaßen geregelt:
Dein Freund uns Du sollten noch etwas mehr die Doku lesen.
Zitat:

Code:
var jahr = jetzt.getYear() +1900;
einfach nur bäh Guck rechts! getFullYear()

Zitat:
Code:
if (monat<10 && tag<10)
{
datum.value = jahr+"0"+monat+"0"+tag;
}
else if (monat<10 && tag>=10)
{
datum.value = jahr+"0"+monat+""+tag;
}
else if (monat>=10 && tag<10)
{
datum.value = jahr+""+monat+"0"+tag;
}
else
{
datum.value = jahr+""+monat+""+tag;
}
Mit Verlaub: Logik: 6!

Guck rechts!
Code:
if (tag < 10) {
  tag = '0' +  tag;
}
if (monat < 10) {
  monat = '0' +  monat;
}

datum.value = '' + jahr + monat + tag;
  View user's profile Private Nachricht senden
 
Ähnliche Themen Formular: Aktuelles Datum ausgewählt
Acrobat Formular - Datum nicht in der Vergangenheit
Adobe Acrobat Formular: Text formatieren
pdf automatisch aktuelles datum (java)
Datum formatieren in PHP
[PHP, MySQL] Datum formatieren
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Software - Nonprint


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.