# Datum + Uhrzeit in UnixTimeStamp umrechnen



## schutzgeist (24. März 2009)

Hallo zusammen,

ich habe ein (fertiges) Formular, in dem über einen kleinen JS Kalender das Startdatum ausgewählt werden kann. Dahinter als extra Feld noch vormittags, bzw. nachmittags.
Das ganze gib es auch noch für das Enddatum, ebenfalls mit vormittags/nachmittags.

Wenn nun ein Datum ausgewählt wird, trägt der Kalender z.B. 24.3.2009 in das Anfangsfeld im Formular ein.

Ich sollte das Ganze zum weiterschicken und verarbeiten nun in einen UnixTimeStamp umrechnen.. das sollte idealerweise beim weiterleiten des Formulars passieren.. das ich den Wert quasi in eine neue Variable geschrieben bekomme, da ich den Anfangswert, das Datum ansich, auch noch weiter benötige und da liegt auch mein Problem.. Wie bekomm ich das umgewandelt?

Ich sollte dabei ja auch noch das Zeitfeld mit in den UnixTimeStamp bekommen..
quasi 24.3.2009 vormittags = xxx + 0h bzw. 24.3.2009 nachmittags = xxx + 12h für das Anfangsdatum und 25.3.2009 vormittags = xxx + 12h bzw. 25.03.2009 nachmittags = xxx + 24h für das Enddatum.

Danke schonmal,
Grüße Steffi


----------



## kuddeldaddeldu (24. März 2009)

Hi,

Du könntest aus den Formularangaben ein Date-Objekt erstellen und den Timestamp mit der Methode getTime() ermitteln.
Das kann man aber genauso gut serverseitig z.B. per PHP machen...

LG


----------



## schutzgeist (24. März 2009)

Serverseitig geht nicht, das ganze ist ein DFML-Formular  Dann hät ich glaub weniger Probleme damit 

Wie erstelle ich ein Date Objekt und vorallem, wie verwende ich es dann weiter?


----------



## kuddeldaddeldu (24. März 2009)

Hi,



schutzgeist hat gesagt.:


> Wie erstelle ich ein Date Objekt und vorallem, wie verwende ich es dann weiter?



Steht alles in der Doku, die ich Dir verlinkt habe...
Wie Du das Objekt erstellen kannst, findest Du unter "Allgemeines zur Verwendung".

LG


----------



## schutzgeist (24. März 2009)

Sorry.. Tomtane auf den Augen.. Hatte nicht gesehen, das Date unterstrichen ist... 

Ich wühl mich morgen mal durch und schau, ob ich zurecht komm, jetzt ist erst mal Feierabend 

Danke dir.


----------



## schutzgeist (26. März 2009)

Ich versuche mich langsam heran zu tasten... Dachte mir jetzt, ich zerlege mein Datum erst mal in 3 Blöcke, um das ganze nachher in date einzufügen...

Aber da hackt es schon.. wie kann ich das blöde Feld auslesen? 

Formular:

```
<form name= "antrag">
...
<input type="text" size="10" name="begin_day" id="input">
...
</form>
```

JS:

```
<script type="text/javascript">
var datumbeginn = document.getElementById("input").value;
var zahl = datumbeginn.split(".");
document.write(zahl[0] + " " + zahl[1] + " " + zahl[2]);
</script>
```

Ergibt aber immer folgenden Fehler: Objekt erforderlich


----------



## kuddeldaddeldu (26. März 2009)

Hi,

an welcher Stelle im Dokument steht denn der Javascript-Codeschnipsel? Du müsstest das in eine Funktion packen und diese z.B. beim Absenden des Formulars aufrufen.

LG


----------



## schutzgeist (26. März 2009)

Hatte es schon in der zweiten Seite und dachte, ich könnte es irgendwie abfangen..

Hab es nun mal umgestellt.. aber keine Ahnung, wie ich die Werte in die hidden Felder bekomme...

Ich will jetzt ja nur erst mal testen, ob ich das durch das ganze Formular mit durchschleifen kann, bevor ich an den Feinschliff gehe...

Hier mal der Code:

```
<script type="text/javascript">
function CheckInput () {
var datumbeginn = document.getElementById("input").value;
var zahl = datumbeginn.split(".");
}
</script>

<FORM name=antrag>
...
<input type="text" size="10" name="begin_day" id="input">
...
<input type=submit value="Abschicken" id="button" name="send" onsubmit="return CheckInput();">&nbsp;
<input type=reset value="Zurücksetzen" id="button">&nbsp;
<input type=button value="Abbrechen" id="button" name="exit">
<input type="hidden" value="?" name="zahl0">
<input type="hidden" value="?" name="zahl1">
<input type="hidden" value="?" name="zahl2">

</form>
```


----------



## kuddeldaddeldu (26. März 2009)

Hi,



schutzgeist hat gesagt.:


> Hab es nun mal umgestellt.. aber keine Ahnung, wie ich die Werte in die hidden Felder bekomme...



Du könntest sie mit getElementsByName ansprechen oder ihnen auch eine ID geben.

LG


----------



## schutzgeist (26. März 2009)

Muss ich den Submit-Button dann zwei Aktionén/Funktionen aufrufen lassen?


----------



## kuddeldaddeldu (26. März 2009)

Wieso? Warum machst Du das nicht alles in dieser einen Funktion?

LG


----------



## schutzgeist (26. März 2009)

Wenn ich wüsste wie... ich hab sowas vorher noch nie mit JS gemacht...

momentan siehts immer noch so aus:


```
<script type="text/javascript">
function CheckInput () {
var datumbeginn = document.getElementById("input").value;
var zahl = datumbeginn.split(".");
var zahl0 = zahl[0];
var zahl1 = zahl[1];
var zahl2 = zahl[2];
}
</script>

<FORM name=antrag>
..
<input type=submit value="Abschicken" id="button" name="send" onsubmit="return CheckInput();">&nbsp;
<input type=reset value="Zurücksetzen" id="button">&nbsp;
<input type=button value="Abbrechen" id="button" name="exit">
<input type="hidden" value="?" name="zahl0">
..
</form>
```

Was muss ich anders machen?

Bei http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_name krieg ich das einfach nicht auf mein Formular umgebogen...


----------



## kuddeldaddeldu (26. März 2009)

Hi,

Du musst dem value des Hidden-Feldes doch einfach nur den Wert zuweisen:

z.B.:

```
<script type="text/javascript">
function CheckInput () {
   var datumbeginn = document.getElementById("input").value;
   var zahl = datumbeginn.split(".");
   document.getElementsByName("zahl0")[0].value = zahl[0];
}
</script>
```

LG


----------



## schutzgeist (26. März 2009)

Sorry, dass ich mich so dermaßen doof anstell, aber ich check es einfach nicht 

Gibt mir das JS nun alle 3 Zahlen aus?

WIE weise ich die 3 Werte den 3 (?) Hidden Feldern zu?


----------



## kuddeldaddeldu (26. März 2009)

Hi,

in der markierten Zeile wird dem Feld "zahl0" der erste Wert des Arrays zahl zugewiesen. Das Beispiel musst Du doch nur noch auf die beiden anderen Felder anwenden.


```
<script type="text/javascript">
function CheckInput () {
   var datumbeginn = document.getElementById("input").value;
   var zahl = datumbeginn.split(".");
   document.getElementsByName("zahl0")[0].value = zahl[0];
}
</script>
```

Am Besten wäre, wenn Du Dir erstmal eine Dokumentation zu Javascript vornimmst, z.B. die von SelfHTML, und die Grundlagen lernst. Wenn ich Dir das fix und fertig vorkaue, hilft Dir das zum Verständnis auch nicht weiter.

LG


----------

