webForumDet fria alternativet

Formatera datum

Databaser & SQL

4 svar · 280 visningar · startad av dahlgren

Medlem sedan aug. 20011 946 inlägg
Frågan#1

Hej

Jag lyckas inte få till formatering av ett datum som jag vill.
Det ligger lagrat i en databas så här: 20050523134038

echo date("ymd",$r['lastlogin'] );

Tyvärr ger det 380119 och inte 050523 som jag vill. Vad är felet?

Medlem sedan maj 2000444 inlägg
#2
echo date("ymd");

bör väll funka, har inte testat dock.

Medlem sedan aug. 20002 975 inlägg
#3

Formattera det i SQL-frågan:

SELECT DATE_FORMAT(lastlogin, '%y-%m-%d') AS lastlogin ...

Fungerar åtminstone i MySQL.

Medlem sedan aug. 20011 946 inlägg
#4

Det fungerar inte riktigt. har jag förstått dig rätt om jag har lagt till din kod i min sql sats på följande vid?

SELECT DATE_FORMAT(User.lastlogin, '%y-%m-%d') AS lastlogin User.username, User.logins, User.permission_id, Permissions.name FROM User, Permissions where User.permission_id=Permissions.id 
ORDER BY username

Det ger:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'User.username, User.logins, User.permission_id, Permissions.nam

Medlem sedan mars 20025 907 inlägg
#5

Du har missat ett kommatecken

SELECT DATE_FORMAT(User.lastlogin, '%y-%m-%d') AS lastlogin, User.username, User.logins, User.permission_id, Permissions.name FROM User, Permissions where User.permission_id=Permissions.id 
ORDER BY username

Anledningen till att din date()-kod inte fungerade är att den andra parametern ska vara ett unix timestamp. Det du skickar in är ett vanligt datum/tidpunkt utan bindesstreck.

Tråden flyttas från PHP!

265 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)