Brian Vind wrote:
> Hej!
Hejsa
>
> Når man laver en SELECT og vil sikre at tid og dato er formatteret som
> ønsket er:
> DATE_FORMAT(date, '%d-%m-%Y') AS FormDate
> osv. meget komfortabelt.
PAS PÅ med at bruge reserveret ord i feltnavne (her bruger du date) der
vil du næsten med garanti få en sød lille mysql fejl hvis ikk jeg gætter
helt forkert :)
>
> Jeg søger efter en måde at sikre at man får formatteret det man vil gemme
> i
> basen korrekt når der er tale om dato og tid.
yyyy-mm-dd er ALTID den korrekte metode at indsætte en dato.
> Jeg har pt. en rutine som formatteret det korrekt til den lokale base jeg
> har i mit testmiljø, men udbyderens kører tilsyneladende ikke med DK
> formattering som min lokale base.
Hvis du bruger fx phpmyadmin eller andre mysql managere så kan du
sikkert se dato felter stående som dd-mm-yyyy når det er indtastet, men
sådan bliver det ikke "gemt" korrekt :)
Det er jo oplagt at bruge mysqls dato felter - dette kunne være:
timestamp
datetime
date
year
osv osv.
Timestamp sætter antal sekunder fra unixtime (1.jan 1970)
datetime indsætter det i formattet yyyy-mm-dd hh:mm:ss
date indsætter i formatet yyyy-mm-dd
year yyyy
>
> Så kort og godt: Kender nogen en måde at sikre at basens dato og tid altid
> arkiveres korrekt?
Hvis du skal indsætte datoen for ligenu - så gør man således:
INSERT INTO tabel (datofelt) VALUES (NOW())
Skal du indsætte 12 februar 2003 gøres det således
INSERT INTO tabel (datofelt) VALUES (20030212)
Ellers så kan du læse MEGET mere om alle typer af dato varianter i manualen:
<
http://dev.mysql.com/doc/mysql/en/datetime.html> <-- Her er om de
forskellige felt typer
<
http://dev.mysql.com/doc/mysql/en/date-and-time-functions.html> <-- og
her er så alle dato funktionerne :)
--
Martin
<
www.lsv-online.dk> Comes when it comes