"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

MySQL PHP und die liebe Zeit!

Maxx666 24.07.2002 - 16:52 558 5
Posts

Maxx666

Kitemaniac
Avatar
Registered: Sep 2001
Location: Longshore / West..
Posts: 712
Hi Leutz!

Ich bastle gerade an einen PHP Scripty, dass mir ein paar Daten und die aktuelle Serverzeit in eine MySQL Tabelle stellt.

Dabei hab ich aber das Problem, dass ich die Zeit nur in HH:MM Format anzeigen lassen will, wenn ich aus der DB die Daten wieder auslese.

Soll ich nun:
*) die Daten vor dem Einpflegen in die DB konvertieren zB. mit $zeit = date("H:i"); und das Time Feld in der Datenbank verändern?

*) oder nur die Ausgabe?

*) und wie gehts? (Vorallem das Sonderformat in der DB einzustellen?)

flaimo

ILFTKYS
Avatar
Registered: Dec 2001
Location: ask a ninja
Posts: 872
kommt drauf an wie du mit der db arbeiten wirst. wenn du viel mit phpmyadmin arbeitest und manuell durch die datensätze navigieren wirst is es wohl besser zeit und datum in einem lesbaren format zu speichern.
wenn eh alles über selbstgemachte eingabemasken gehn wird, kannst du einen timestamp verwenden. bleibt g'hupft wie g'hatscht...hin und herwandeln geht eh a ohne probleme in einer bzw zwei zeilen

Maxx666

Kitemaniac
Avatar
Registered: Sep 2001
Location: Longshore / West..
Posts: 712
Zitat von flaimo
kommt drauf an wie du mit der db arbeiten wirst. wenn du viel mit phpmyadmin arbeitest und manuell durch die datensätze navigieren wirst is es wohl besser zeit und datum in einem lesbaren format zu speichern.
wenn eh alles über selbstgemachte eingabemasken gehn wird, kannst du einen timestamp verwenden. bleibt g'hupft wie g'hatscht...hin und herwandeln geht eh a ohne probleme in einer bzw zwei zeilen

ok angenommen:

*) ich schreibe die zeit im Format HH:MM:SS in die DB und will sie aber nur HH:MM anzeigen lassen, wie geht das?

Maxx666

Kitemaniac
Avatar
Registered: Sep 2001
Location: Longshore / West..
Posts: 712
hab schon.... $hhmmzeit = substr($line->GB_ZEIT,0,5); ;)

bernhard

Little Overclocker
Registered: Feb 2001
Location: NÖ
Posts: 51
Das kann doch nicht Dein Ernst sein... substr()... *aufshirngreif*

MySQL kennt für solche Zweck die Datentypen DATETIME, DATE und TIMESTAMP (vgl. <http://www.mysql.com/doc/D/A/DATETIME.html>;), von denen Du tunlichst einen verwenden solltest.

Entweder liest Du den Datensatz dann mit DATE_FORMAT() aus oder Du verwendest UNIX_TIMESTAMP(), womit Du das Ergebnis direkt an date() übergeben und nach allen Regeln der PHP-Kunst formatieren kannst.

Außerdem stehen Dir so Nettigkeiten wie DATE_ADD(), DAYOFWEEK() etc. zur Verfügung (vgl. <http://www.mysql.com/doc/D/a/Date_a..._functions.html>;).

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
bernhard hat recht - ausserdem stellt dir php eine ganze reihe an funktionen zur verfügung, um von timestamp wieder zurück, hin und her und überhaupt alles was du willst zu konvertieren...;) :p
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz