Problem mit Datumsausgabe

Maffy

Erfahrenes Mitglied
Habe verschiedene sachen ausprobiert die ich hier im Forum gefunden habe. Es klappt aber trotzdem nicht, das er mir das Datum richtig Formatiert.

PHP:
$datetime	= $row['created'];
$datetime = date("d.m.Y" );

Wenn ich nur $datetime= $row['created']; schreibe schreibt er mir das richtige Datum hin wie ich es angelegt habe. Sobald ich das jedoch in ein Deutsches Format bringe schreibt er irgendwelche komische datumsangaben.

MFG Maffy
 
In welcher Form bzw. Typ hast du das Datum denn in der Datenbank gespeichert? Ich lasse das Datum immer von SQL schon formatieren, sodass ichs gleich als formatieren String rausbekomme. Dazu speicher ich das Datum immer als DATE, also in der Form YYYY-MM-DD. Die SQL-Anweisung zum Umwandeln lautet dann:
Code:
SELECT DATE_FORMAT(created, '%d.%m.%Y') AS Datum FROM tabelle

Wenn du das ganze als TIMESTAMP gespeichert hast weiß ich jetzt nicht ob es da auch so klappt, da ich nie mit TIMESTAMP arbeite.
 
Übergibst du date() eigentlich auch den Timestamp, den es verarbeiten soll? Wenn nicht verwendet date() nämlich den aktuellen Timestamp...

PHP:
<?php
$datum = date("d.m.Y", $row['datetime']);
?>
 
Ich habe eine Spalte, die 'created' heist und als 'datetime' angelegt ist.

Im Augenblick gibt er mir das Datum in der Amerikanischen schreibweise aus.
 
date() funktioniert nur mit timestamp. Ich würde dir wärmstens ans Herz legen, umzusteigen - mit timestamp arbeiten bringt nur Vorteile: Du kannst jede x-beliebige Zeitspanne berechnen - ohne nerviges umrechnen. Du kannst damit deutschsprachige Wochentage/Monatsnamen ausgeben und du hast etliche Formatierungsmöglichkeiten - u. a. natürlich auch YYYY-MM-DD. Nähere Infos gibt's wie immer bei php.net.
 
Naja, dann kannst du ja einfach die Differenz zum 1. 1. 1970 ausrechnen. Ausserdem: Wer vor 1970 Geburtstag hat, gehört sowieso nicht ins Internet. :-)
 
Zurück