[GastForen Programme Web/Internet PDF Grundlagen / Web / eForms Wochentag in PDF anzeigen lassen mit beliebigem Datum

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Web/Internet - Webdesign, eForms
Themen
Beiträge
Moderatoren
Letzter Beitrag

Wochentag in PDF anzeigen lassen mit beliebigem Datum

tidot
Beiträge gesamt: 26

12. Mai 2008, 03:25
Beitrag # 1 von 15
Bewertung:
(17028 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
jepp, ich suche schon wieder eine lösung, vielleicht hilft mir ja jemand dabei: ich möchte in das feld "datum" einen beliebigen tag eintrage (dd.mm.yyyy) und im feld "wochentag" den dazugehörigen wochentag automatisch anzeigen lassen. den aktuellen wochentag kann ich mit folgendem javascript erreichen:

var cToday = new Date();
var cDayInWeek = cToday.getDay();
var cDays = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
this.getField("NameDesFeldesMitWochentag").value = cDays[cDayInWeek];

nun muss ich aber das ganze anpassen, in dem ich das datum aus dem "datumsfeld" auslese und hier integriere, damit ich auch den passenden tag bekomme.

so wie ich bereits in einem forum gelesen habe, muss ich dabei das datum in yyyy,mm-1,dd umwandeln. und den script noch etwas umwandel:

var cToday = new Date();
wird z.b. durch var cToday = new Date(2008,05,02);
ersetzt (Januar = 0, Dezember = 11)

mein problem ist aber die daten "herüber in das wochentagsfeld zu holen"...

weiß jemand rat?
X

Wochentag in PDF anzeigen lassen mit beliebigem Datum

tidot
Beiträge gesamt: 26

14. Mai 2008, 22:47
Beitrag # 2 von 15
Beitrag ID: #350229
Bewertung:
(16937 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
weiß denn niemand hier rat? um es noch mal zu konkretisieren...ich möchte in einem textfeld ein beliebiges datum eingeben und im anderen textfeld soll der wochentag erscheinen.


als Antwort auf: [#349941]

Wochentag in PDF anzeigen lassen mit beliebigem Datum

tidot
Beiträge gesamt: 26

15. Mai 2008, 10:19
Beitrag # 3 von 15
Beitrag ID: #350263
Bewertung:
(16902 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
so, jetzt habe ich mal ein bisschen herumgestrickt und habe endlich eine komplette zeitausgabe im pdf-formular, wenn es interessiert, ich habe es mal "eingedeutscht", ausgabe erfolgt in wochentag(z.b. montag),tag (z.b.12),monat(z.b.januar),jahr,zeit (24std)

var datum = this.getField("Datum");
var jetzt = new Date();
var tag = jetzt.getDate();
var Std = jetzt.getHours();
var Min = jetzt.getMinutes();
var stdAusgabe = ((Std < 10) ? "0" + Std : Std);
var minAusgabe = ((Min < 10) ? "0" + Min : Min);
var monate = ["Januar", "Februar", "März", "April" , "Mai" , "Juni" , "Juli" , "August" , "September" , "Oktober" , "November", "Dezember"];
var monat = monate[ jetzt.getMonth() ];
var jahr = jetzt.getYear() +1900;
var wochentage =jetzt.getDay();
var wochentag = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
datum.value = wochentag[wochentage]+", der "+ tag+"."+monat+"."+jahr+" , "+ stdAusgabe + "." + minAusgabe + " Uhr";


mein eigentliches problem bleibt, wie erreiche ich die übergabe in eine anderes feld für den wochentag, wenn ich das datum manuell bestimmen will? die automatische verstehe ich ja nun.

(falls ich hier für die falschen leser gepostet habe, bitte ich den moderator das thema in den javascript-bereich zu verschieben.)


als Antwort auf: [#350229]
(Dieser Beitrag wurde von tidot am 15. Mai 2008, 10:36 geändert)

Wochentag in PDF anzeigen lassen mit beliebigem Datum

minou
Beiträge gesamt: 135

15. Mai 2008, 11:01
Beitrag # 4 von 15
Beitrag ID: #350273
Bewertung:
(16877 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

Also wenn du die aktuelle Zeit ausgeben möchtest, so sieh dir doch mal diesen Code an. Ich weiss jetzt nicht, ob man dem toLocaleString auch ein sonstiges Datum vergeben kann.

Aber du erreichst damit eine Ausgabe in der Form:

"Donnerstag, 15. Mai 2008"



Code
setInterval("zeit()", 500); 

function zeit() {
document.getElementById("uhr").innerHTML = (new Date().toLocaleString());
}
zeit();


Gruss

minou


als Antwort auf: [#350263]

Wochentag in PDF anzeigen lassen mit beliebigem Datum

tidot
Beiträge gesamt: 26

15. Mai 2008, 11:26
Beitrag # 5 von 15
Beitrag ID: #350279
Bewertung:
(16863 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
der ".toLocaleString" kann doch nur die englische ausgabe...oder irre ich da?


als Antwort auf: [#350273]

Wochentag in PDF anzeigen lassen mit beliebigem Datum

minou
Beiträge gesamt: 135

15. Mai 2008, 12:32
Beitrag # 6 von 15
Beitrag ID: #350299
Bewertung:
(16846 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo tidot,

nein, eben nicht. LocaleString() gibt eben die locale aus und nicht den englischen String. Ich muss nicht mal etwas angeben in meinem Skript (wie im letzten Beitrag steht es bei mir online).

Wenn du zu gewissen Daten nur den Wochentag brauchst, würde ich vielleicht zu PHP greifen. Da kann man recht einfach solche Werte extrahieren und auch alle möglichen Daten als solchen String ausgeben und einfach eingeben lassen (Formulare).

Genau gibt bei mir der Befehl von obiger Anzeige das aus:

Donnterstag, 12.12.2002 - 11:33 Uhr

Ein Browser erkennt den Befehl nicht sauber und gibt die englische Locale aus (weiss gerade nicht mehr welcher).
Zudem wird meines Wissens die Locale ja immer vom Clienten abgefragt, also wird ein Däne eine dänische, eine Engländer eine Englische Locale vorgesetzt bekommen, vorausgesetzt es wurde dem Betriebssystem richtig angegeben.

So, ich hoffe ich konnte das einigermassen erklären,

gruss

minou

P.S. Vorsicht, der toLocaleString() wird oft falsch benannt als toLocalString(), was aber definitiv nicht funktioniert :-)


als Antwort auf: [#350279]

Wochentag in PDF anzeigen lassen mit beliebigem Datum

tidot
Beiträge gesamt: 26

15. Mai 2008, 12:42
Beitrag # 7 von 15
Beitrag ID: #350300
Bewertung:
(16837 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
mmmh....isch hab datt mal so eingegeben, weil pdf:

var datum = this.getField("Datum1");
var jetzt = new Date();
datum.value = jetzt.toLocaleDateString();

da kommt dann immer das heraus: Thursday, May 15, 2008


ist aber auch egal....ich brauche dringend hilfe bei der manuelle übergabe des datums zum wochentag...ich fresse einfach nicht wie das gehen soll.


als Antwort auf: [#350299]

Wochentag in PDF anzeigen lassen mit beliebigem Datum

Markus Walker
Beiträge gesamt: 494

16. Mai 2008, 08:49
Beitrag # 8 von 15
Beitrag ID: #350415
Bewertung:
(16763 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo tidot

Einen Blick in eine JavaScript Reference würde im sich lohnen. Dort findet sich zum Date Objekt die Methode getDay().

Versuchs mal damit.

Und betreffend der Methode toLocaleDateString() wird in einem guten Buch über JavaScript folgendes Vermerkt:
«…This method also uses local conventions for dtae and time formating, so the format may vary widely from platform to platform, and also from country to country. …»
Folglich sind die Ergebnisse daraus nur schwer vorhersagbar. Ich würde hier die Formatierung im betreffenden Feld über den Format-Event steuern, falls die von Acrobat zur Verfügung gestellten Formatierungen nicht passen. Acrobat JavaScript stellt hierfür das util Objekt zur Verfügung.

HTH


als Antwort auf: [#350300]

Wochentag in PDF anzeigen lassen mit beliebigem Datum

tidot
Beiträge gesamt: 26

16. Mai 2008, 12:22
Beitrag # 9 von 15
Beitrag ID: #350449
Bewertung:
(16734 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
danke für den tipp. ich habe die referenz bereits bereits auf meinem rechner und versucht sie zu studieren. mein englisch ist leider nicht so gut, dass ich die referenz ganz verstehe. frage vorab, gibt es dafür eine deutsche übersetzung????


ich bastel mir auch alles langsam zusammen. das datum übergebe ich von feld1 an feld2..kein problem, den script ganz oben am amfang dieses thread wandle ich ab, auch kein problem, aber die umwandlung von dd.mm.yyyy in yy,mm-1,dd bekomme ich nicht auf die reihe, damit der wochentag auch richtig angezeigt wird.


die methode tolocale string wollte ich gar nicht nutzen.


als Antwort auf: [#350415]
(Dieser Beitrag wurde von tidot am 16. Mai 2008, 12:41 geändert)

Wochentag in PDF anzeigen lassen mit beliebigem Datum

tidot
Beiträge gesamt: 26

16. Mai 2008, 13:13
Beitrag # 10 von 15
Beitrag ID: #350464
Bewertung:
(16715 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
also damit keiner meint ich will hier alles vorgekaut bekommen, ich bemühe mich wirklich...nur diese umrechnung bekomme ich nicht hin - ich befaase mich damit erst seit ca. 2wochen. vielleicht kann mir jemand den folgenden script ergänzen, damit ich mein ziel erreiche:

var d1 = this.getField("Datum0").value;
var s1 = util.scand("dd.mm.yy", d1);

hier zwischen muss irgendwie die umwandlung erfolgen muss, also das eingetragene datum in feld Datum0 soll in feld Datum1 eingetragen und in den wochentagsnamen umgewandelt werden. es soll dabei ein manuelles datum sein, d.h. in new Date muss was anderes stehen als nur die leeren Klammern


var cToday = new Date();
var cDayInWeek = cToday.getDay();
var cDays = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
this.getField("Datum1").value = cDays[cDayInWeek];


als Antwort auf: [#350449]
(Dieser Beitrag wurde von tidot am 16. Mai 2008, 13:17 geändert)

Wochentag in PDF anzeigen lassen mit beliebigem Datum

tidot
Beiträge gesamt: 26

17. Mai 2008, 02:31
Beitrag # 11 von 15
Beitrag ID: #350539
Bewertung:
(16661 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
oh man! so einfach scheint das doch nicht zu sein, deswegen antwortet kaum jemand. ich hab gestöbert und folgenden script gefunden, der genau das macht, was ich will - allerdings nict für acrobat. ich habe mich daran versucht versucht für pdf die felder zu belegen, aber irgendwie klappt es nicht. wer kann helfen damit es in pdf funktioniert....


function init2() {
// Datum auslesen und überprüfen
var date = this.getField("Datum").value;
var yyyy=date.substr(6,4);
var mm=date.substr(3,2);
var dd=date.substr(0,2);

if(date.length!=10 || isNaN(dd+mm+yyyy)==1) alert("Falsche Eingabe !");
else if(yyyy==1582 && mm==10 && dd >4 && dd < 15)
alert("Datum existiert nicht !"); // wg. Kalenderreform
else getWeekDay2(dd,mm,yyyy,date);
}

function getWeekDay2(dd,mm,yyyy,date) {
// Referenz ist Donnerstag, der 01.01.1970 00:00:00 Uhr
// Von diesem Datum bis zum gesuchten Tag werden mit
// dem JavaScript-Objekt Date die Millisekunden gezählt
// und der Wochentag abgefragt.
// Für Jahre seit 1970 und vor 0100
// sind die mSek-Angaben positiv, dazwischen negativ

// Eingabe-Datum in mSek umwandeln
var timeObj=new Date();
var time=Date.UTC(yyyy,(mm-1),dd);

// Kalenderreform berücksichtigen, d.h. + 10 Tage
if(yyyy<1582 || yyyy==1582 && (mm<10 || mm==10 && dd<15))
time+=10*24*60*60*1000;
// Über das Date-Objekt werden die Schaltjahre
// vor der Reform genauso berechnet wie danach.
// Also müssen die Schalttage in den vollen
// Jahrhunderten, die nicht durch 400 teilbar sind,
// wieder 'hinzugezählt' werden (Vorzeichen beachten)
for(k=0;k<4;k++) {
for(year=1500-k*400;year>1200-k*400;year-=100) {
if(yyyy<year || yyyy==year && mm<3) time-=24*60*60*1000;
}
}

// Wegen internem Vorzeichen-Wechsel zwischen
// dem 31.12.0099 und dem 01.01.0100 (??!)
// muss hier ein weiterer Tag 'addiert' werden.
if(yyyy<100) time-=24*60*60*1000;

// Wochentag auslesen (0-6)
timeObj.setTime(time);
weekday=timeObj.getDay();

// Ergebnis anzeigen
var week = "SoMoDiMiDoFrSa";
this.getField("Wochentage") = week.substr(weekday*2,2)+", "+ dd+"."+mm+"."+yyyy;
}


als Antwort auf: [#350464]
(Dieser Beitrag wurde von tidot am 17. Mai 2008, 02:32 geändert)

Wochentag in PDF anzeigen lassen mit beliebigem Datum

tidot
Beiträge gesamt: 26

17. Mai 2008, 03:35
Beitrag # 12 von 15
Beitrag ID: #350540
Bewertung:
(16651 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
"hilf dir selbst"....nie war eine domain so passend !!!

nach tagelangen tüfteln habe ich es wohl hinbekommen. ich habe einfach die scripte ein wenig zusammengeschnippelt und anschließend gekürzt. das folgende ist dabei herausgekommen und es funktioniert sogar.

jetzt wäre nur nett, wenn jemand mal einen check macht, ob ich das so lassen kann oder ob mich eine überraschung (irgendwann ein falscher tag) erwartet



var date = this.getField("Datum").value;
var yyyy=date.substr(6,4);
var mm=date.substr(3,2);
var dd=date.substr(0,2);
var cToday = new Date();
var time=Date.UTC(yyyy,(mm-1),dd);
if(yyyy<100) time-=24*60*60*1000;
cToday.setTime(time);
var cDayInWeek = cToday.getDay();
var cDays = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
this.getField("Wochentage").value = cDays[cDayInWeek];


als Antwort auf: [#350539]

Wochentag in PDF anzeigen lassen mit beliebigem Datum

tidot
Beiträge gesamt: 26

19. Mai 2008, 19:50
Beitrag # 13 von 15
Beitrag ID: #350793
Bewertung:
(16489 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo, wo sind den alle pdf-freunde. über 530 greifen auf das thema zu, aber nur zwei haben sich bisher mal gemeldet.

also wenn ihr alle nur den letzten zusammengebastelten script abschreibt und meint es wäre alles perfekt, dann habt ihr euch getäuscht....da ist eine kleine macke drinne.

nur wer findet die macke von den experten hier?


als Antwort auf: [#350540]

Wochentag in PDF anzeigen lassen mit beliebigem Datum

Markus Walker
Beiträge gesamt: 494

20. Mai 2008, 22:22
Beitrag # 14 von 15
Beitrag ID: #351022
Bewertung:
(16414 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo tidot,

Wie oben schon erwähnt, bietet sich das util Objekt an, wodurch Flüchtigkeitsfehler vermieden werden können. Man braucht ja nicht immer alles von Grund auf neu zu schreiben. So lässt sich der Code auf zwei Zeilen kondensieren:
Code
var dDate = util.scand( "d.m.yyyy" , this.getField("Datum").value ); 
this.getField("Wochentage").value = util.printd("date(de_CH){EEEE}", dDate , true)


Im Anhang sind zwei weitere Varianten aufgeführt, wobei die mittlere von der Sprach-Version von Acrobat abhängig sein dürfte.

HTH


als Antwort auf: [#350793]
Anhang:
Wochentag.pdf (9.25 KB)

Wochentag in PDF anzeigen lassen mit beliebigem Datum

tidot
Beiträge gesamt: 26

21. Mai 2008, 11:51
Beitrag # 15 von 15
Beitrag ID: #351084
Bewertung:
(16371 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
ähm.....jetzt fühle ich mich ein wenig "veräppelt"....nicht von dir...aber von javascripte und acrobat. klar, durch die vielfalt ist man auch flexibler in der gestaltung, aber mir persönlich fehlt da die überschaubare und einheitliche linie, was sich dann bei mir in fehler wiederspiegelt.

ich habe mir tagelang den kopf zebrochen und habe es auch mit util versucht. auf meinem rechner sind x-fache kombinationsversuche davon abgespeichert.

....und da kommst du daher und streichst das alles lapidar auf eine zeile zusammen und es funktioniert auch. ich komme mir vor, als hätte ich versucht das rad neu zu erfinden, um letztlich doch nur eine quadrat zu erhalten.

also der zweit teil in deinem angebot war sehr einfach umzusetzen, lach. sogar das referezenzdatum 1.1.1970 passt. ich fasse es einfach nicht(kopfschütteln). hier kann sich keiner vorstellen wie viele stunden und tage ich davor gesessen habe und am verzweifeln war.

wenn es doch nur eine gute übersetzung für diese acrobat referenz geben würde, dann wären vermutlich viele schneller am ziel.

ich nutze übrigens das prg. pdf converter 5 pro. von nuance. im vergleich mit meiner testversion von acrobat 8 prof. ist da nicht viel unterschied, bis auf die freischaltung zum speichern von formularen und eben der preis.

nochmals vielen dank für diese "augenwäsche"


ich fasse mal für alle zusammen:

im textfeld für den wochentag den berechnungsscript hinterlegen, dann dort das ausgabeformat für das datum benutzerdefiniert eintragen und als format "dddd" angeben.

event.value = this.getField("Datum").value

im textfeld "Datum" ebenfalls das ausgabeformat festlegen (z.b. dd-mmm-yyyy) und schon klappt das ganze.


als Antwort auf: [#351022]
(Dieser Beitrag wurde von tidot am 21. Mai 2008, 11:53 geändert)
X