2012-10-02 4 views
5

Ich habe einen Unix-Timestamp (Int) in PHP. Ich möchte diesen Wert im HTML5-Datetime-Eingabeelement auf schöne Weise anzeigen. Ich möchte in der Lage sein, dass Benutzer diesen Wert auf ansprechende Weise sehen und bearbeiten können. Gibt es irgendeinen guten Weg dies zu tun, oder mache ich mir selbst etwas vor und werde ich mich mit einer Menge String-Manipulation herumärgern müssen?PHP Zeitstempel zu HTML 5 Eingabetyp = Datetime Element

Antwort

12

HTML5 Input time ist so etwas wie dieses: 1985-04-12T23:20:50.52

Sie können, dass wie dies in PHP tun:

echo date("Y-m-d\TH:i:s"); 

Ausgabe

2012-10-02T19:12:49 

HTML mit Timestamp

<input type="datetime" value="<?php echo date("Y-m-d\TH:i:s",$timestamp); ?>"/> 
+0

Das wird in das Wert-Attribut des '' Elements gehen? Außerdem denke ich, dass du "." Nicht "," mistest, nur damit es niemanden sonst verwirrt. – thatidiotguy

+3

'echo' erlaubt', 'die Ausgabe zu trennen. –

+1

Und ich habe heute etwas Neues gelernt. Danke, dass Sie sich über meine angebliche Korrektur freuen. – thatidiotguy

9

Die anderen Beispiele sind sowohl die alte Art und Weise ein gültiges Zeitformat für das Zeitelement zu erzeugen - das neue Hotness in php:

<time><?php echo date(DATE_W3C); ?></time> 

Das wird erzeugt ein Format wie:

„2013 -05-19T06: 40: 08 + 00: 00"

+0

Die Frage bezieht sich speziell auf 'input [type = datetime]' * not * 'time [datetime]'. Vielen Dank für die Einführung von 'date()' s [vordefinierte Konstanten] (http://php.net/manual/en/class.datetime.php#datetime.constants.types), obwohl! Ich bleibe bei 'date ('c')', was ebenfalls zu einer identischen [ISO 8601] (https://en.wikipedia.org/wiki/ISO_8601) Zeichenkette führt. – Alastair

2

für Datum und Uhrzeit nicht für mich auf Chrom funktioniert, Datetime-local ermöglicht es mir, Datum und Zeit von Pop-up zu wählen.

Beispiel

<input type="datetime-local" name="xyz" value="<?php echo date("Y-m-d\TH:i:s",time()); ?>"/> 

Zeit (Funktionen) sind nicht relevant, ich bin mit es für Benutzer von Strom wählen einfach zu machen .. Zeit vor oder nach.