|
| Tid, dato og mySQL? Fra : Jakob Munck |
Dato : 27-11-05 08:24 |
|
1.
I et "datetime" (form: '0000-00-00 00:00:00') felt i min mySql vil jeg godt
indsætte et udtryk, der rummer år/måned/dato/time/minut/sekund. Findes der
et enkelt udtryk i php, som rummer disse oplysninger i det rette format til
at sætte direkte ind i mySql? Eller skal man selv sammensætte et udtryk, der
passer? Og hvordan kunne det så se ud??
2.
Hvis jeg ud fra et udfyldt "datetime" felt i mySql-database ønsker at
udskrive f.eks: "27. November 2005", hvordan skriver jeg så det?
v.h.
Jakob
PS. Ja, jeg har set både i begge manualerne, hvor der står mange sider om
emnet. Men jeg har ikke fundet det korte og præcise svar.
| |
Ukendt (27-11-2005)
| Kommentar Fra : Ukendt |
Dato : 27-11-05 09:49 |
|
> 1.
> I et "datetime" (form: '0000-00-00 00:00:00') felt i min mySql vil jeg
> godt indsætte et udtryk, der rummer år/måned/dato/time/minut/sekund.
> Findes der et enkelt udtryk i php, som rummer disse oplysninger i det
> rette format til at sætte direkte ind i mySql? Eller skal man selv
> sammensætte et udtryk, der passer? Og hvordan kunne det så se ud??
Brug date()-funktionen til at formatere.
> 2.
> Hvis jeg ud fra et udfyldt "datetime" felt i mySql-database ønsker at
> udskrive f.eks: "27. November 2005", hvordan skriver jeg så det?
Du kan formatere datoer med date()-funktionen - du skal bruge
strtotime()-funktionen, når du henter datoer ud fra MySQL
date("d. m Y", strtotime($data["dateFromMySQL"])). Kan ikke huske det helt,
men kig på de 2 funktioner i manuelen.
| |
Jakob Munck (27-11-2005)
| Kommentar Fra : Jakob Munck |
Dato : 27-11-05 16:25 |
|
Løsningen er følgende:
1.
//formatterer dato til indskring i datetime-felt:
$date_time = date("Y-m-d G:i:s", time());
2.
//formatterer dato som hentes fra datetime-felt:
echo date("j/n/Y", strtotime($data["date_time"]));
Tak for hjælpen.
v.h.
Jakob
| |
Erik Ginnerskov (28-11-2005)
| Kommentar Fra : Erik Ginnerskov |
Dato : 28-11-05 22:24 |
|
Jakob Munck wrote:
> 1.
> //formatterer dato til indskring i datetime-felt:
> $date_time = date("Y-m-d G:i:s", time());
>
> 2.
> //formatterer dato som hentes fra datetime-felt:
> echo date("j/n/Y", strtotime($data["date_time"]));
Det har jeg prøvet at indsætte i en gæstebod, som bruger MySql. Det
resulterer i en fejlmelding:
Kunne ikke udføre: /insert into gaestebog(navn,epost,subject,besked,ip,tid)
values('Erik','','Test af dato og tid','Virker det?','',2005-11-28
20:43:41)/
Fejlen er: /You have an error in your SQL syntax near '20:43:41)' at line 2/
Det kan ses i disse filer:
http://hjemmesideskolen.dk/usenet/gem.phps eller
http://hjemmesideskolen.dk/usenet/gem.txt => skriver til mysql
Koden indsat i linjerne 77 og 80. Linje 81 er fungerende originalversion af
80.
http://hjemmesideskolen.dk/usenet/guestbook.phps eller
http://hjemmesideskolen.dk/usenet/guestbook.txt => læser fra mysql
Koden er indsat i linje 40. Linje 39 er fungerende originalversion af 40.
--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/
| |
Martin (27-11-2005)
| Kommentar Fra : Martin |
Dato : 27-11-05 16:40 |
|
Jakob Munck wrote:
> 1.
> I et "datetime" (form: '0000-00-00 00:00:00') felt i min mySql vil jeg godt
> indsætte et udtryk, der rummer år/måned/dato/time/minut/sekund. Findes der
> et enkelt udtryk i php, som rummer disse oplysninger i det rette format til
> at sætte direkte ind i mySql? Eller skal man selv sammensætte et udtryk, der
> passer? Og hvordan kunne det så se ud??
strtotime() - den kan du slå op i php manualen :)
>
> 2.
> Hvis jeg ud fra et udfyldt "datetime" felt i mySql-database ønsker at
> udskrive f.eks: "27. November 2005", hvordan skriver jeg så det?
Du kan bruge DATE_FORMAT direkte i MySQL select'en - kig i manualen, for
hvilke koder der er.
>
>
> v.h.
> Jakob
>
>
> PS. Ja, jeg har set både i begge manualerne, hvor der står mange sider om
> emnet. Men jeg har ikke fundet det korte og præcise svar.
>
>
--
Venlig hilsen
Martin
| |
|
|