Willkommen in der Webstatt Zum Webstatt Blog und Stories
fish fish am 20.08.06 19:59

wei wandle ich das datum "20.08.2006 19:59:23" in DATETIME ("YYYY-MM-DD HH:MM:SS") um?

also nicht das nur das aktuelle datum sondern ein beliebiges..

netcup.de Warum gibt es hier Werbung?
milahu milahu am 20.08.06 20:13

Mit explode():
list($d, $m, $y, $h, $i, $s) = array_merge(explode('.', array_shift(explode(' ', $datum))), explode(':', array_pop(explode(' ', $datum))));
print "$y-$m-$d $h:$i:$s";

Vielleicht noch etwas weniger kryptisch:
$foo = explode(' ', $datum);
list($y, $m, $d) = explode('.', $foo[0]);
list($h, $i, $s) = explode(':', $foo[1]);
print "$y-$m-$d $h:$i:$s";


Mit strptime():
$d = strptime($datum, '%Y.%m.%d %H:%M:%S');
print "{$d['tm_year']}-{$d['tm_mon']}-{$d['tm_mday']} {$d['tm_hour']}:{$d['tm_min']}:{$d['tm_sec']}";

fish fish am 20.08.06 20:30

danke.

$datum = strptime($_POST['datum'], '%Y.%m.%d %H:%M:%S'); ===> Fatal error: Call to undefined function strptime() ?(

der_nic der_nic am 20.08.06 20:32

strptime >>> (PHP 5 >= 5.1.0RC1)
;)

fish fish am 20.08.06 20:56

okay und wie bringe ich lösung nr 2 dann in eine variable ? zb $datum?

der_nic der_nic am 20.08.06 20:58

$d = explode(' ', $datum);
list($y, $m, $d) = explode('.', $d[0]);
list($h, $i, $s) = explode(':', $d[1]);


$y ist das Jahr
$m ist der Monat
usw...
kannst du dann nach belieben zusammensetzen zb $d.$n$y

fish fish am 20.08.06 21:51

hm okay. und jetzt funktionierts trotzdem nicht. also die eingabe: 20.08.2007 20:00

der code:$d = explode(' ', $_POST['datum']);
list($d, $m, $y) = explode('.', $d[0]);
list($h, $i) = explode(':', $d[1]);

$datum = $y."-".$m."-".$d." ".$h.":".$i;
echo $datum;


die ausgabe: 2007-08-20 0:

was ist bei der uhrzeit da falsch gelaufen?

milahu milahu am 20.08.06 22:48

Ouch. $d wird überschrieben. Bitte in $foo ändern ;)

fish fish am 21.08.06 10:20

gesagtgetan. funzt soweit

so liebe freunde der gepflegten datanbankabfrage, mann muss das datum ja jetzt wieder umwandeln wenn man es anzeigen will ... ich habe es mal so probiert:
$abfrage_tour = "SELECT * FROM `tour` DATE_FORMAT(`datum`, '%d.%m.%y um %T Uhr') ORDER BY `datum` DESC";

geht aber nicht. wie macht mans richtig?

milahu milahu am 21.08.06 11:32

SELECT
*,
DATE_FORMAT(`datum`, '%d.%m.%y um %T Uhr') as `datum_h`
FROM
`tour`
ORDER
BY `datum` DESC


Steht auch alles im Manual..

fish fish am 21.08.06 11:52

danke, ich habedas buch zwar konsultiert allerdings nicht das fgefunden was ich gebraucht habe

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt