Datumsausgabe
Berti
- php
1 Vinzenz Mai0 Tom0 Berti2 Vinzenz Mai0 Vinzenz Mai0 Berti0 Tom0 Vinzenz Mai
Hallo,
gebe so mein Datum aus ...
echo substr($row[date],8,2);
echo '.';
echo substr($row[date],5,2);
echo '.';
echo substr($row[date],2,2);
Typ datetime.
Könnt Ihr mir sagen, wie ich die Uhrzeit zusätzlich ausgeben kann im Format Stunden:Minuten?
Danke, Gruß
Hallo,
echo substr($row[date],2,2);
Typ datetime.
hört sich danach an, als ob Du das Ergebnis einer Datenbankabfrage ausgibst.
Könnt Ihr mir sagen, wie ich die Uhrzeit zusätzlich ausgeben kann im Format Stunden:Minuten?
Am bequemsten geht dies, indem man die Daten bereits in der richtigen Form abfragt.
Welche Funktionen Du dazu nutzen kannst, das hängt vom verwendeten Datenbankmanagementsystem ab, im Fall von MySQL böte sich DATE_FORMAT() an.
Freundliche Grüße
Vinzenz
Hello,
gebe so mein Datum aus ...
echo substr($row[date],8,2);
echo '.';
echo substr($row[date],5,2);
echo '.';
echo substr($row[date],2,2);Typ datetime.
Könnt Ihr mir sagen, wie ich die Uhrzeit zusätzlich ausgeben kann im Format Stunden:Minuten?
Weißt Du denn überhaupt, was Du da tust?
Ich rate jetzt mal, dass Du das Datum und die Uhrzeit aus einer Datenbank abfragst und es sich beim Datenbankmanagementsystem um eine MySQL-Version handelt. Welche ist es?
Was steht denn inn $row['date'] drin?
Bitte benutze die Stringbegrenzer für den Bezeichner des Array-Elementes, wenn Du nicht explizit eine Konstante date definiert hast.
Hast Du schon mal darüber nachgedacht, die Ausgabeformatierung direkt von der Datenbank vorbereiten zu lassen, also ihr den Teil der Arbeit zu übertragen, der die Reihenfolge der Daten im Datenfeld betrifft?
Es gibt bei den meisten DBMS Funktionen dafür!
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hi,
MySQL-Version ist 5.0.70.
Ich habe mir diverse Dinge durchgelesen, bin aber zur keiner Lösung gekommen. Mal wurde ein Datum von 1970 angezeigt, etc.
Was ich suche, und das soll nicht beleidigend klingen, ist eine konkrete Lösung für das genannte Problem. Ich bin nur eine Art Hobbybastler und habe auch nicht die Zeit, mich einzulesen. Dass Ihr das als Profis anders behandelt, kann ich verstehen, aber Ihr müsst mich bitte auch verstehen.
Gruß
Hello,
gebe so mein Datum aus ...
echo substr($row[date],8,2);
echo '.';
echo substr($row[date],5,2);
echo '.';
echo substr($row[date],2,2);Typ datetime.
Könnt Ihr mir sagen, wie ich die Uhrzeit zusätzlich ausgeben kann im Format Stunden:Minuten?
Weißt Du denn überhaupt, was Du da tust?
Ich rate jetzt mal, dass Du das Datum und die Uhrzeit aus einer Datenbank abfragst und es sich beim Datenbankmanagementsystem um eine MySQL-Version handelt. Welche ist es?Was steht denn inn $row['date'] drin?
Bitte benutze die Stringbegrenzer für den Bezeichner des Array-Elementes, wenn Du nicht explizit eine Konstante date definiert hast.Hast Du schon mal darüber nachgedacht, die Ausgabeformatierung direkt von der Datenbank vorbereiten zu lassen, also ihr den Teil der Arbeit zu übertragen, der die Reihenfolge der Daten im Datenfeld betrifft?
Es gibt bei den meisten DBMS Funktionen dafür!
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo,
bitte keine Vollzitate.
MySQL-Version ist 5.0.70.
Ich habe mir diverse Dinge durchgelesen, bin aber zur keiner Lösung gekommen. Mal wurde ein Datum von 1970 angezeigt, etc.
*was* hast Du versucht.
Was ich suche, und das soll nicht beleidigend klingen, ist eine konkrete Lösung für das genannte Problem. Ich bin nur eine Art Hobbybastler und habe auch nicht die Zeit, mich einzulesen.
Ok, ich habe keine Glaskugel, die mir erzählt, was Du machst und welches Datenbankmanagementsystem Du verwendest.
Aber statt einfach Deine Datumsspalte abzufragen, kannst Du diese mit
formatieren. Du willst
a) die Tagangabe mit zwei Ziffern, d.h. führender Null: %d
b) den Punkt als Trennzeichen: .
c) den Monat mit zwei Ziffern: %m
d) den Punkt als Trennzeichen: .
e) das Jahr mit zwei Ziffern: %y
f) ein Leerzeichen:
g) die Stunden zweistellig im 24-Stunden-Format: %H
h) einen Doppelpunkt als Trennzeichen: :
i) die Minuten zweistellig %i
Bauen wir's zusammen:
DATE_FORMAT(datumsspalte, '%d.%m.%y %H:%i')
SELECT DATE_FORMAT(NOW(), '%d.%m.%y %H:%i') datum
liefert beispielsweise
datum
----------------
19.10.2009 14:09
Willst Du Dein Datum anders formatiert haben, nutze die entsprechenden Konfigurationsangaben aus der Liste, hier als deutsche Version für MySQL 5.1.
Freundliche Grüße
Vinzenz
Hallo Ingrid,
kopiere, was Du nicht abschreiben kannst :-)
SELECT DATE_FORMAT(NOW(), '%d.%m.%y %H:%i') datum
liefert selbstverständlich das geforderte
datum
----------------
19.10.09 14:09
und nicht 19.10.2009 14:09
Freundliche Grüße
Vinzenz
Danke, ich verwende MySQL, Version bereits angegeben und will das Datum mit Php auslesen.
Gibt es keine Möglichkeit, die Zahlen ...
echo substr($row[date],8,2);
echo '.';
echo substr($row[date],5,2);
echo '.';
echo substr($row[date],2,2);
so zu ändern, dass die Uhrzeit dabei herausspringt?
Meine Abfrage sieht bisher so aus ...
$sql = "SELECT * FROM news WHERE
und wenn ich da jetzt das Datumsding von Dir einbaue, kommen nur noch zwei Punkte heraus.
Hello,
Gibt es keine Möglichkeit, die Zahlen ...
echo substr($row[date],8,2);
echo '.';
echo substr($row[date],5,2);
echo '.';
echo substr($row[date],2,2);so zu ändern, dass die Uhrzeit dabei herausspringt?
Es gibt für PHP ein sehr gutes Online-Manual, das darüber genauestens Auskunft gibt, wie es funktioniert. Guckst Du hier: http://de3.php.net/manual/en/function.substr.php :-)
Meine Abfrage sieht bisher so aus ...
$sql = "SELECT * FROM news WHERE
und wenn ich da jetzt das Datumsding von Dir einbaue, kommen nur noch zwei Punkte heraus.
Du solltest möglichst nicht mit '*' abfragen, wenn Du nicht alle Spalten brauchst. Hier brauchst Du ja die Spalte date
als berechnete Spalte, und nicht als generische (so wie sie normal aus der Tabelle geliefert wird).
Also frage z.B. ab:
$sql = "SELECT vorname
, name
, DATE_FORMAT(date, '%d.%m.%y %H:%i') datum FROM news WHERE ..."
Und in Deinem $row stehen dann nacher im Element ['datum'] das Datum und die Zeit in der gewünschten Form.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo Berti,
Danke, ich verwende MySQL, Version bereits angegeben und will das Datum mit Php auslesen.
ja, das habe ich verstanden. Ich habe Dir den besten Vorschlag gemacht, den ich Dir machen kann: er ist elegant und einfach.
Gibt es keine Möglichkeit, die Zahlen ...
so zu ändern, dass die Uhrzeit dabei herausspringt?
a) einfach alles richtig machen :-)
Meine Abfrage sieht bisher so aus ...
$sql = "SELECT * FROM news WHERE
und es sieht so aus, als lautete der Name der Spalte, die den Datumswert enthält "date".
Wo ist das Problem, statt des nicht besonders sinnvollen "SELECT *" entweder
SELECT
<name der ersten Spalte, die Du benötigst>,
<name der zweiten Spalte, die Du benötigst>,
...,
DATE_FORMAT(`date`, '%d.%m.%y %H:%i') date,
<name der letzten Spalte, die Du benötigst>
FROM
news
WHERE
<Deine Bedingungen>
oder wenigstens:
SELECT
*,
DATE_FORMAT(`date`, '%d.%m.%y %H:%i') mydate
FROM
news
WHERE
<Deine Bedingungen>
zu schreiben und dann auf das fertig formatierte Datum zuzugreifen.
Voraussetzung:
Mein Vorschlag mit der expliziten Spaltenliste und der Verwendung der DATE_FORMAT()-Funktion mit den von Dir benötigten Spezifizieren ist der beste Vorschlag, den man Dir machen kann - außer dem, dass Du Dich mit den Grundlagen von PHP, aber auch SQL vertraut machen solltest.
Freundliche Grüße
Vinzenz