• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Feld DATETIME umwandeln und ausgeben

Status
Für weitere Antworten geschlossen.
O

ohrflieger

Guest
Hallo Forumler,
ich habe folgendes Problem:

Bei meinem Newsscript habe ich in der DB ein Feld "Datum" Typ DATETIME definiert.
Nun möchte ich im Newsscript dieses Datum ausgeben, allerdings nicht in der Form 2006-05-12 19:03:24, sondern ganz normal so:
12.05.2006 19:03 Uhr.

Wie kann man das realisieren?
Und kann man vielleicht auch die Angaben zu Zeit und zum Datum trennen?

Danke im vorraus! :wink:
 
Werbung:
Folgender Code speichert in der Variable $datum das Datum im gewünschten Format:
Code:
<?php
    $datum = date('d.m.Y H:i');
    $datum = $datum.' Uhr';
?>
Folgender Code speichert Datum und Uhrzeit getrennt im gewünschten Format:
Code:
<?php
    $datum = date('d.m.Y');
    $zeit = date('H:i');
    $zeit = $zeit.' Uhr';
?>
Frage an die Profis:
Könnte man statt meiner Methode, die Zeit in dem gewünschten Format zu speichern (also mit ' Uhr' am Ende) auch folgendes machen?
Code:
<?php
    $datum = date('d.m.Y H:i Uhr');
?>
 
Äh....vielleicht etwas missverstanden?

Ich meine:
Wie kann man das Datum aus der Datenbank umwandeln???????
So das aktuelle Datum ausgeben kann ich auch.......
 
Werbung:
Wieso speicherst du es nicht einfach anders? Du machst es dir nur unnötig kompliziert, das umzuwandeln ist eine recht schwierige Aufgabe.


Edit
  • Hewitt_1991, ich meinte im Vergleich dazu, es einfach anders zu speichern.
  • Abgesehen davon gibt dein Code die Sekunden aus, die ohrflieger nicht haben wollte.
 
Wieso speicherst du es nicht einfach anders? Du machst es dir nur unnötig kompliziert, das umzuwandeln ist eine recht schwierige Aufgabe.
Nö xD


$sql = "SELECT DATE_FORMAT(datum, '%d.%m.%y um %T UHR')
FROM tabelle;";

das gibt aus:
DD:MM:YY um Stunde:Minute:Sekunden UHR
 
Alternativ könntest du es auch mit substr() aus DATETIME auslesen.
 
Werbung:
Danke!

Kann man die Sekunden auch irgentwie weglassen?
 
Ja, dafür musst du nur das %T ändern:
Code:
Specifier 	Description
%a 	Abbreviated weekday name (Sun..Sat)
%b 	Abbreviated month name (Jan..Dec)
%c 	Month, numeric (0..12)
%D 	Day of the month with English suffix (0th, 1st, 2nd, 3rd, …)
%d 	Day of the month, numeric (00..31)
%e 	Day of the month, numeric (0..31)
%f 	Microseconds (000000..999999)
%H 	Hour (00..23)
%h 	Hour (01..12)
%I 	Hour (01..12)
%i 	Minutes, numeric (00..59)
%j 	Day of year (001..366)
%k 	Hour (0..23)
%l 	Hour (1..12)
%M 	Month name (January..December)
%m 	Month, numeric (00..12)
%p 	AM or PM
%r 	Time, 12-hour (hh:mm:ss followed by AM or PM)
%S 	Seconds (00..59)
%s 	Seconds (00..59)
%T 	Time, 24-hour (hh:mm:ss)
%U 	Week (00..53), where Sunday is the first day of the week
%u 	Week (00..53), where Monday is the first day of the week
%V 	Week (01..53), where Sunday is the first day of the week; used with %X
%v 	Week (01..53), where Monday is the first day of the week; used with %x
%W 	Weekday name (Sunday..Saturday)
%w 	Day of the week (0=Sunday..6=Saturday)
%X 	Year for the week where Sunday is the first day of the week, numeric, four digits; used with %V
%x 	Year for the week, where Monday is the first day of the week, numeric, four digits; used with %v
%Y 	Year, numeric, four digits
%y 	Year, numeric (two digits)
%% 	A literal ‘%’ character
%x 	x, for any ‘x’ not listed above
 
Da steht aber nirgens die hh:mm-Anzeige drin, oder hab ich mich verguckt......?

Aber ich kanns auch mit Sekunden machen!
 
Werbung:
Code:
$sql = "SELECT DATE_FORMAT(datum, '%d.%m.%y um %H:%i UHR') FROM tabelle;";
 
^y^ Verhueterli ^y^,
schau dir lieber die reinfolge der beiträge an, bevor du mich kritisierst,
woher soll ich wissen, dass er keine sekunden drin haben möchte?
 
Hallo nochmal,

ich habs mal ausprobiert, aber irgentwie klappte das noch nicht.
Ich habs wahrscheinlich falsch eingebaut oder falsch verstanden (hab jetzt den Code von Grizou genommen).

Code:
<?php
//Script by tut.php-q.net [PHP-QuakeNet Tutorials]
// Kommentare
$sql = "SELECT Titel,Inhalt,Autor FROM Kommentare ORDER BY Datum DESC";
$result = mysql_query($sql) OR die(mysql_error());
$sqls = "SELECT DATE_FORMAT(Datum, '%d.%m.%y um %H:%i UHR') FROM Kommentare;";
$results = mysql_query($sqls) OR die(mysql_error());
if(mysql_num_rows($result))
{

while($row = mysql_fetch_assoc($result) and $rows = mysql_fetch_assoc($results)) {
echo "<table border=\"0\" class=\"kommentar\" cellpadding=\"3\" cellspacing=\"0\" bordercolordark=\"#0055ee\" bordercolorlight=\"#0055ee\" align=\"center\" width=\"98%\"><tr><td class=\"dunkellinks\">[b]\n";
echo "<font size=\"-1\">\n";
echo $row['Titel'];
echo "</font>[/b]</td><td class=\"dunkel\">[b]<font size=\"-1\">\n";
echo $rows['Datum'];
echo "[/b]</td></tr><tr><td class=\"hell\" colspan=\"2\"><font size=\"-1\">\n";
echo nl2br($row['Inhalt']);  // \n in br umwandeln
echo "</td></tr><tr><td class=\"dunkel\" align=\"right\" colspan=\"2\"><font size=\"-1\">[b]\n";
echo "geschrieben von";
echo $row['Autor'];
echo "[/b]</td></tr></table>\n";
}
} else {
echo"

Keine Kommentare vorhanden</p>\n";
}
?>

Mein Experimentierort:
http://ohrfliegerlexika.funpic.de/1_kommentare.html
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben