Avatar billede nemlig Professor
24. februar 2008 - 19:30 Der er 8 kommentarer og
1 løsning

Hvordan - Datetime > lige nu

Jeg henter en dato i MySQL, som er gemt i formatet DATETIME (ÅÅÅÅ-MM-DD TT:MM:SS).
Jeg har så en if-sætning, som driller, da timer, minutter og sekunder ikke er med i min date().
Nogen forslag til løsning.
Koden ser sådan her ud:

if($row['slutdato'] > date("Y-m-d"))
Avatar billede showsource Seniormester
24. februar 2008 - 20:06 #1
Du kan i sin query formatere datoen

DATE_FORMAT(datofelt, '%Y-%m-%d') as slutdato
( mener det er %Y-%m-%d )

Du kan evt. også vælge kun at hente de felter som passer til dagen i dag.
WHERE DATE_FORMAT(datofelt, '%Y-%m-%d') = CURDATE()

Du kan formatere slutdato med php inden sammenligning.

Bruge substr() til at sammenligne
Avatar billede showsource Seniormester
24. februar 2008 - 20:07 #2
Den hurtige

if(date("Y-m-d",$row['slutdato']) > date("Y-m-d"))
Avatar billede nemlig Professor
24. februar 2008 - 21:20 #3
Jo tak, men problemet er, at jeg også gerne vil tjekke på timer og minutter.
Har du et forslag??
Avatar billede nemlig Professor
24. februar 2008 - 21:54 #4
Jeg fandt måske en løsning, som jeg lige skal lege lidt med:

date("Y-m-d G:i:s")

mener jeg skriver i samme format som DATETIME.
Avatar billede erikjacobsen Ekspert
24. februar 2008 - 21:58 #5
Det er bestemt ikke noget problem ikke at have foranstillede nuller i timerne når du efterfølgende bruger det i MySQL. Men jeg synes de skal være der for god ordens skyld, så:

  date("Y-m-d H:i:s")

( http://zpiff.dk/index.php?title=PHP_-_date-funktionen%2C_almindeligt_brug )
Avatar billede nemlig Professor
24. februar 2008 - 22:50 #6
Erik: Tak for inputtet - jeg har rettet "G" til "H", og det ser ud til at virke.
Showsource: Tak for dine input - jeg kunne dog ikke bruge dem i dette konkrete tilfælde, men jeg lærte noget nyt.
Send venligst et svar begge 2 og jeg fordeler pointene (hvis Erik er begyndt at samle).
Avatar billede erikjacobsen Ekspert
24. februar 2008 - 22:55 #7
Nej tak ;)
Avatar billede showsource Seniormester
24. februar 2008 - 23:51 #8
Også nej tak her :O)

Og b.t.w. så var "den hurtige" vel for hurtig?

if(date("Y-m-d",strtotime($row["slutdato"])) > date("Y-m-d"))

Men er jeg ikke lige helt klar over.
Avatar billede nemlig Professor
25. februar 2008 - 07:37 #9
Ok - tak for sidste rettelse.
Jeg lukker.
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