Datum wird falsch aus DB-Feld ausgegeben
Hallo,
Ich hab da mal wieder ein "kleines" Problem.
Ich schreibe in eine MSSQL2000 DB ein Datum mit Uhrzeit.
Mit einem PHP Formular. Da schreibe ich (convert(varchar(120),getdate(),13)).
In der DB ist das dann Richtig geschrieben (z.b. 23.01.2007 23:11 ).
Aber wenn ich es dann über PHP ausgebe dann sieht das so aus:
23 01 2007 23:11PM
Woran kann das denn liegen?
Danke.
Helmut
Ich hab da mal wieder ein "kleines" Problem.
Ich schreibe in eine MSSQL2000 DB ein Datum mit Uhrzeit.
Mit einem PHP Formular. Da schreibe ich (convert(varchar(120),getdate(),13)).
In der DB ist das dann Richtig geschrieben (z.b. 23.01.2007 23:11 ).
Aber wenn ich es dann über PHP ausgebe dann sieht das so aus:
23 01 2007 23:11PM
Woran kann das denn liegen?
Danke.
Helmut
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 54337
Url: https://administrator.de/forum/datum-wird-falsch-aus-db-feld-ausgegeben-54337.html
Ausgedruckt am: 12.04.2025 um 16:04 Uhr
4 Kommentare
Neuester Kommentar
Moin helmuthelmut2000,
das liegt daran, dass diese doofen Computer gehässigerweise einfach das machen, was Du ihnen sagst...
[Ach, wenn meine Kinder doch so wären.*seufz*]
Was Du aber haben willst, ist eigentlich die Kombination :
Es gibt kein Standard-SQL-Datumsformat mit exakt Deinem Anzeigeformat.
Wenn Dir der DB-Inhalt netterweise so angezeigt wird, okay. Aber die Convert-Function kann es von Haus aus nicht.
Gruss
Biber
das liegt daran, dass diese doofen Computer gehässigerweise einfach das machen, was Du ihnen sagst...
[Ach, wenn meine Kinder doch so wären.*seufz*]
(convert(varchar(120),getdate(),13))
--> bringt genau wie gewünscht die Anzeige "dd mon yyyy hh:mi:ss:mmm 17 Mär 2007 18:45:00:130"Was Du aber haben willst, ist eigentlich die Kombination :
(convert(varchar(120),getdate(),104) ) & " " & (convert(varchar(120),getdate(),108) )
--> "17.03.2007" ...... & " " &............."18:45:00"Es gibt kein Standard-SQL-Datumsformat mit exakt Deinem Anzeigeformat.
Wenn Dir der DB-Inhalt netterweise so angezeigt wird, okay. Aber die Convert-Function kann es von Haus aus nicht.
Gruss
Biber
Hmmm, helmuthelmut2000,
kann ich weder gedanklich reproduzieren und (mangels installierter mySQL-Datenbank) auch nicht praktisch.
Als Theoretiker kann ich nur sagen:
das hier ist IMHOBullShit suboptimal:
Das Create-Statement bezieht sich auf eine Datenbanktabelle und auf Datentypen.
Der Datentyp ist DateTime.
Also sollte reichen:
Und selbst das "With Default" sollte obsolet sein.
Jedes halbwegs professionielle RDMS sollte dieses DDL-Statement so interpretieren, dass ein Feld namens "Datum" mit Datentyp DateTime angelegt wird und jeden neu angelegten Datensatz mit dem Timestamp der Anlege-Zeit füllen.
Und aus den folgenden zwei Zeilen kann ich nichts erkennen. Soll das ein Lied werden?
Bitte poste nochmal die relevanten Auslesezeilen en bloc - so kann es ja nicht vollständig sein.
Es sei denn, die allgemeine Syntax hätte sich durch HipHop- und NeoTrance-Einflüsse in den letzten Monaten stark gewandelt.
Gruss
Biber
kann ich weder gedanklich reproduzieren und (mangels installierter mySQL-Datenbank) auch nicht praktisch.
Als Theoretiker kann ich nur sagen:
das hier ist IMHO
CREATE TABLE Tabellenname
Spalte..,
Spalte..,
<b>Datum DATETIME NULL DEFAULT ((convert(varchar(120),getdate(),13))),</b>
Der Datentyp ist DateTime.
Also sollte reichen:
...
CREATE TABLE Tabellenname
Spalte..,
Spalte..,
Datum DATETIME NOT NULL [WITH DEFAULT]
Jedes halbwegs professionielle RDMS sollte dieses DDL-Statement so interpretieren, dass ein Feld namens "Datum" mit Datentyp DateTime angelegt wird und jeden neu angelegten Datensatz mit dem Timestamp der Anlege-Zeit füllen.
Und aus den folgenden zwei Zeilen kann ich nichts erkennen. Soll das ein Lied werden?
select * from Tabellenname
" . $dsatz["Datum"] . "
" . $dsatz["Datum"] . "
Bitte poste nochmal die relevanten Auslesezeilen en bloc - so kann es ja nicht vollständig sein.
Es sei denn, die allgemeine Syntax hätte sich durch HipHop- und NeoTrance-Einflüsse in den letzten Monaten stark gewandelt.
Gruss
Biber