Ich habe hier ein Formular, bei dem man Timestamps eingeben muss. Das ist natürlich schlecht, weil die kein Mensch lesen kann. Gibts da ein JavaScrpt, dass den Timestamp in in lesbares umwandelt und dann in einem div ausgibt?
Warum änderst du nicht einfach das auswertende Skript, damit
man da eine plausiblere Eingabe machen kann, etwa im
internationalen Format: 2009-09-15T15:14:35.6Z
Das sollte doch leicht in dem auswertenden Skript in eine
Unix-Zeit zu konvertieren sein, die man abspeichern kann - oder
was immer auch damit passieren mag.
Wenn das Skript außerhalb deines Zugriffes liegt, kannst du
natürlich auch ein kleines eigenes PHP-Skript erstellen, welches
dann ein ausgefülltes Formular erstellt, was man dann nur noch
losschicken muß.
Naja, das ist dann wieder umständlich. Mein Script versendet eine Mail wo der Timestampt drin ist und den möchte ich dann nach der Datumsüberprüfung wieder einfügen. Das Datum könnte man auch mit Drop-Down-Boxen auswhlen, aber dann müsste ich mehr klicken und ich bin Klick-faul.
Formatierung des Timestamps: de.selfhtml.org/javascript/objekte/date.htm
Ausgabe: Bspw. per innerHTML
Aber beachten, das ist dann Client-Zeit.
Wäre kein Problem mit PHP
oder
strtotime kann fast jedes Gültige Datumsformat zu einem Timestamp umrechnen.
Ich habs jetzt. Aber die Umsetzung war ein bisschen komisch, ich muss den Timestamp erst multiplizieren, aonsonsten kommt als Ausgabe nur NaN
php ist ein bisschen blöd, weil man da erst absenden muss.
NaN bekommst du, wenn du einen Stringwert in einem nummerischen Kontext benutzt - dann hast du wohl die Übergabe des Wertes von PHP an JavaScript falsch gemacht.
(Multiplizieren mit 1000 musst du natürlich sowieso, entweder server- oder clientseitig, weil JavaScript mit Timestamps in Millisekunden arbeitet, der Unix Timestamp von PHP aber mit Sekunden.)
Der Wert wird aus einem input-Text-Feld ausgelesen. Mit Tausend multiplizieren muss ich aber noch, also ungefähr so:
function TimestampToString(){
var timestamp = new Date(document.bossezeit.timestamp.value*1000);
document.getElementById('zeit').innerHTML = timestamp.toGMTString();
}