Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
datetime umwandeln [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
datetime umwandeln


 
Heiner
16-09-2003, 07:43 
 
Hallo,

ich habe in einer Datenbank ein Feld vom Typ datetime
im Format

2002-08-27 10:29:00

Dieses möchte ich zur folgenden Ausgabe bringen:

Donnerstag, 27. August 2002 10:29 Uhr

Ich habe es schon mit diversen Beispielen aus diesem Forum
versucht, ebenfalls die Dokumentation php und mysql zum
Thema angelesen, jedoch wird bei den Beispielen meistens
ein timestamp umgewandelt, jedoch kein datetime.
Meine Versuche mit mktime und date() waren erfolglos.

Hat jemand hierzu eine Rat oder eine Ansatz parat?

Gruss
Heiner

 
mrhappiness
16-09-2003, 08:15 
 
schau dir mal http://www.mysql.com/doc/de/Date_and_time_functions.html#IDX1264 an

du kriegst es zwar nur auf englisch, aber das is dann ein einfaches search&replace

 
Heiner
17-09-2003, 01:06 
 
Hallo,
habe nach weiteren Recherchen ein Ergebnis bekommen.

Jetzt komme ich zu einem weitern Problem:

In der Datenbank steht ein Feld vom Typ datetime,
also Format 0000-00-00 00:00:00

Ich möchte eine Meldung ausgeben wenn der Tag aus der Datenbank
mit dem aktuellen Datum übereinstimmt.


$today = date("Y-m-d"); // 2003-09-17

$r_mess = query("SELECT count(termid) AS messcount
FROM termine
WHERE userid=$g_user[userid] AND flags=1
AND SUBSTRING(dateday,0,10)='$today'
");

Es erfolgt keine Ausgabe.

Lasse ich die Zeile

AND SUBSTRING(dateday,0,10)='$today'

einfach weg, dann bekomme ich eine Ausgabe.

Ich habe es auch schon mit SUBSTRING(dateday,1,10) versucht,
da mysql bei 1 anfängt zu zählen? Auch keine Ausgabe.

Ein absichtlich erzeugter Fehler brachte folgende Fehlermeldung,
Fehler habe ich wieder rausgenommen:

Query: SELECT count(termid) AS messcount
FROM termine
WHERE userid=1 AND flags=1
AND SUBSTRING(dateday,0,10)='2003-09-17'

In der Datenbank (dateday)steht folgender Eintrag:

2003-09-17 00:05:00

Es stimmt also irgendetwas mit dem SUBSTRING nicht.
Hat jemand eine Idee?

Gruss
Heiner

 
mrhappiness
17-09-2003, 08:15 
 
ELECT COUNT(termid) messcount
FROM termine
WHERE
userid=$g_user['userid']
AND flags = 1
AND SUBSTRING(dateday, 1, 10) = CURDATE()

 
Heiner
17-09-2003, 09:34 
 
Hallo,

danke, das hat funktioniert, jedoch geht mein Beispiel auch,
ich hatte jedoch die Felddefinition in der Datenbank verkehrt angegeben.
Bin jedoch erst nach Deinem Vorschlag darauf gekommen.

Gruss
Heiner

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:39 Uhr.