Datum von sql in deutsches format wo ist der fehler?gesucht!

Alles, was PHP betrifft, kann hier besprochen werden.

Datum von sql in deutsches format wo ist der fehler?gesucht!

Postby Dominikw88 » 06. January 2007 13:22

würde gerne das datum aus der sql tabelle auslesen und ins deutsche format umwandeln und ausgeben aber irgendwie geht das net obwohl ich der meinung bin das dort kein fehler ist da in den suchergebnissen das auch so gemacht wurde.
leigt es daran das in $row datum auch die Zeit drinn ist?
weil kann ja eigentlich net sein da ich ja nur den teil des strings benutze wo das datum steht??
hier der code

Code: Select all
$d=$row['Datum'];

$jahr=substr($d ,0,4);
$monat=substr($d ,4,2);
$tag=substr($d ,6,2);

echo $tag.".".$monat.".".$jahr ;

Dominikw88
 
Posts: 21
Joined: 05. January 2007 20:49

Postby Wiedmann » 06. January 2007 13:37

Code: Select all
$d=$row['Datum'];

leigt es daran das in $row datum auch die Zeit drinn ist?

Quizzfrage:
Woher sollen wir wissen, was in $row['Datum'] für ein Wert drin ist?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Dominikw88 » 06. January 2007 13:44

na der ganz normale wert wenn man bei einer sql tabelle eine spalte für das datum hat das automatisch eingetragen wird
also z.b.
2007-01-06 13:44:56
Dominikw88
 
Posts: 21
Joined: 05. January 2007 20:49

Postby Wiedmann » 06. January 2007 13:47

Also wenn:
2007-01-06 13:44:56

das da drin steht, kann ja
Code: Select all
$jahr=substr($d ,0,4);
$monat=substr($d ,4,2);
$tag=substr($d ,6,2);

dieses nicht funktionieren.
--> Hast du mal analysiert (mit hilfe des Manuals), was dieser Code eigentlich macht?

wenn man bei einer sql tabelle eine spalte für das datum

Warum lässt du dir dann nicht gleich von MySQL das Datum im gewünschten Format liefern?
--> Siehe die Datum/Zeit-Funktionen im MySQL-Manual.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Dominikw88 » 06. January 2007 13:55

ja der code schreibt doch ab stelle 0 die 4 zahlen in die varable jahr so das 2007 drinnstehen sollte
und dann ab stelle 4 die 2 zahlen also das 01 in monat steht
und ab stelle 6 die zwei zahlen so das 06 drin steht
also
$jahr=2007
$monat=01
$tag=06

oder nicht?
Dominikw88
 
Posts: 21
Joined: 05. January 2007 20:49

Postby Wiedmann » 06. January 2007 14:14

Code: Select all
0         1         2
012345678901234567890
2007-01-06 13:44:56


ja der code schreibt doch ab stelle 0 die 4 zahlen in die varable jahr so das 2007 drinnstehen sollte

2007-01-06 13:44:56 --> OK

und dann ab stelle 4 die 2 zahlen also das 01 in monat steht

2007-01-06 13:44:56 --> Ups

und ab stelle 6 die zwei zahlen so das 06 drin steht

2007-01-06 13:44:56 --> Ups
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Dominikw88 » 06. January 2007 14:24

ja habst auch schonmal mit
,0,4
,5,2
,7,2

versucht

geht aber auch net?!
Dominikw88
 
Posts: 21
Joined: 05. January 2007 20:49

Postby sari42 » 06. January 2007 23:51

erstmal:
ein Feld vom Typ date liefert z.B. 2007-01-08
ein Feld vom Typ timestamp liefert z.B. 2007-01-26 06:00:00
====

für beide Typen gilt bei folgendem Beispiel:
$query = 'SELECT Datum, unix_timestamp(Datum) as ud from `test` limit 1';

kompliziert:
echo '<pre>'; print_r($row);
echo
intval(substr($row['Datum'],8,2)), '.',
intval(substr($row['Datum'],5,2)), '.',
substr($row['Datum'],0,4);

Array
(
[Datum] => 2007-01-08
[ud] => 1168210800
)
8.1.2007

----

oder einfach:
echo date('j.n.Y', $row['ud'] );

8.1.2007

====

Quellen:
http://de.php.net/manual/en/function.substr.php

http://dev.mysql.com/doc/refman/5.0/en/ ... tions.html
http://de.php.net/manual/en/function.date.php

(ein Blick in die docs lohnt sich immer, auch wg. der user-comments !)
sari42
 
Posts: 800
Joined: 27. November 2005 18:28

Postby Dominikw88 » 07. January 2007 00:17

danke aber das problem hab ich gelöst man kann mir lieber bei den seiten helfen

Seite 0?
Dominikw88
 
Posts: 21
Joined: 05. January 2007 20:49


Return to PHP

Who is online

Users browsing this forum: No registered users and 1 guest