Avatar billede foxwell Nybegynder
26. november 2003 - 22:00 Der er 14 kommentarer og
1 løsning

formatering af dato (timestamp) fra mySQL

Hej Eksperter,

har et problem med at formatere et TIMESTAMP felt fra min database i php.

feltet var først sat til TIMESTAMP(14). Værdien i en af rækkerne er 20031126 (dags dato), men når jeg spytter den ud med php står der 20.8.70. Jeg har brugt funktionen  date('j.n.y',$newsDate).

Har prøvet at formatere i SQL'en i stedet med denne kode:
date_format('newsDate','%d-%m-%Y') (ved godt at den ikke giver helt samme formattering), men i det tilfælde kom der slet ikke noget ud.

anyone? =)

//foxwell
Avatar billede foxwell Nybegynder
26. november 2003 - 22:02 #1
skal lige siges at feltet nu er TIMESTAMP(8)...
Avatar billede schaefner Juniormester
26. november 2003 - 22:04 #2
Prøv:

SELECT UNIX_TIMESTAMP('newsDate') AS timestamp FROM <table>

echo date('j.n.y',$row['timestamp']);
Avatar billede schaefner Juniormester
26. november 2003 - 22:05 #3
Eller brug datetime i databasen, så kan du formatere med date_format
Avatar billede schaefner Juniormester
26. november 2003 - 22:06 #4
eller "date"
Avatar billede ultragames Nybegynder
26. november 2003 - 22:08 #5
prøv at sætte den til timestamp, og indsæt en blank værdi fra din insert query, så indsætter databasen selv den nuværende date()-værdi...  lav derefter en forespørgsel på feltet og sig: $dato = Date("d.m.y", $row[date]);
Avatar billede Slettet bruger
26. november 2003 - 22:12 #6
Hvis du skal behandle datoen i PHP er det smartest at bruge UNIX_TIMESTAMP(newsDate) i din SELECT.
Avatar billede ultragames Nybegynder
26. november 2003 - 22:14 #7
syntes da ellers denne metode er ret så simpel? :S
Avatar billede schaefner Juniormester
26. november 2003 - 22:14 #8
selvfølgelig:

SELECT UNIX_TIMESTAMP(newsDate) AS timestamp FROM <table>
Avatar billede foxwell Nybegynder
26. november 2003 - 22:21 #9
har prøvet som schaefner sagde, nu får jeg værdien 1.1.70 =)

grunden til at jeg bruger timestamp er at jeg gerne vil have at databasen til at gemme oprettelsestidspunktet for hver post. Kan jeg gøre det på en anden måde? havde overvejet at feltet skulle være DATETIME, men vidste ikke hvilken værdi jeg skulle give den for at den gemte oprettelsestidspunktet...
Avatar billede schaefner Juniormester
26. november 2003 - 22:23 #10
prøv lige med den sidste rettelse, 22:14:16
Avatar billede foxwell Nybegynder
26. november 2003 - 22:23 #11
ultragames > det er det jeg gør... jeg giver ingen værdi til newsDate i min INSERT.
Avatar billede foxwell Nybegynder
26. november 2003 - 22:25 #12
argh sorry schaefner, jeg havde ikke set de manglende anførselstegn =) nu virker det fint =) points til dig og sandbox hvis du kaster et svar...
Avatar billede schaefner Juniormester
26. november 2003 - 22:27 #13
svar
Avatar billede Slettet bruger
26. november 2003 - 22:37 #14
Jeg sagde kun hvad schaefner allerede havde sagt. Bare giv ham dem.
Avatar billede foxwell Nybegynder
26. november 2003 - 23:29 #15
fair nok, det er op til dig =)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester