webForumDet fria alternativet

Timestamp i mysql

21 svar · 722 visningar · startad av web00132

web00132Medlem sedan maj 2001822 inlägg
#1

En enkel fråga: Jag använder datatypen 'timestamp' i ett fält i min MySQL-tabell. Finns det ett enkelt sätt att skriva ut timestamp-värdet i min PHP-kod som t ex '15 jul 2004'?

filipbhMedlem sedan juli 2002402 inlägg
#2
echo date("d m Y",$tabell[timestamp]);

Kan fungera...

web00132Medlem sedan maj 2001822 inlägg
#3

Jag har testat men det funkar inte. Asså jag vet inte om MySQL skriver in rätt siffror i min tabell. Så här ser det ut:
20040715231003
Så ska väl inte timestamp se ut? Det där är ju ååååmmdd och sen tiden 23:10:03.

Om jag skriver koden...

date("l dS of F Y h:i:s A",$tabell[timestamp])

... så skriver den ut:
Tuesday 19th of January 2038 03:14:07 AM

Vad är fel?

filipbhMedlem sedan juli 2002402 inlägg
#4

Så här läggs timestamp in:

mktime(timme,minut,sek,månad,dag,år);

Du har datumet som det är i normalt seende..

filipbhMedlem sedan juli 2002402 inlägg
#5

Den koden används eg. bara om man ska skriva in ett annat datum än det just nu. Ska man använda sig av tiden just nu skriver du time();

web00132Medlem sedan maj 2001822 inlägg
#6

Men jag skriver inte in en timestamp med PHP-kod, manuellt så att säga. Jag har valt datatypen 'timestamp' i MySQL. Eller vad menar du?

filipbhMedlem sedan juli 2002402 inlägg
#7

Jo, jag trodde du använde PHP-kod.. Men den borde ju lägga in rätt i databasen om du använder timestamp. Ska kolla...

filipbhMedlem sedan juli 2002402 inlägg
#8

Har kollat runt lite på phpmyadmin nu men jag får det inte att fungera.. Den skriver inte in rätt värden :/ Varför gör du inte en enkel PHP-sida då?

web00132Medlem sedan maj 2001822 inlägg
#9

Ja, jag ger upp. Verkar j-t skumt det där men jag orkar verkligen inte just nu. Tack för din tid i alla fall :bire

filipbhMedlem sedan juli 2002402 inlägg
#10

Så lite så...

GunnarDMedlem sedan juni 20014 250 inlägg
#11

Du kan formatera en timestamp direkt i select uttrycket, har följande rad för att hämta från min guestbook:

$query="SELECT date_format(datum, '%Y-%m-%d %H:%i') as mydate,text FROM guestbook ORDER BY id DESC";

Formatet blir 2004-07-17 00:05

skymanMedlem sedan juli 20011 347 inlägg
#12

Ändra databastypen till INT istället och skriv php:s time(); till fältet

$sql="insert into myTable set mydate=".time()."";

eller nåt...

MatteMedlem sedan aug. 20002 970 inlägg
#13

Personligen tycker jag det är lämpligare att använda de inbyggda datumtidformaten i MySQL, t.ex DATE, DATETIME eller TIMESTAMP.
Då har du möjlighet att utnyttja datum/tid-funktionerna i SQL-frågorna för att plocka fram dina svar.

För att presentera i det format man önskar så använder man, som GunnarD föreslår DATE_FORMAT().

Använd TIMESTAMP när du vill att tiden ska uppdateras automatiskt varje gång du gör en ändring på raden, annars använd DATETIME.l

web00132Medlem sedan maj 2001822 inlägg
#14

Tack allihopa för hjälpen!
Så det var DATE_FORMAT() jag skulle använt alltså. Då vet jag :bire

mapsiMedlem sedan nov. 20054 inlägg
#15

Hej Matte!
Kan du förklara lite mer i detalj hur man använder date_format()
VAR skall man skriva in detta??

Mvh Magnus

MatteMedlem sedan aug. 20002 970 inlägg
#16

Titta på GunnarD:s exempel ovan, samt följ länken jag gav, så ska det nog klarna.

mapsiMedlem sedan nov. 20054 inlägg
#17

Vad innebör mydate,text i hans kod-snutt?
Är lite grön.....

MatteMedlem sedan aug. 20002 970 inlägg
#18

mydate i är exemplet namnet på hans datumkolumn, som då är av formatet DATETIME eller TIMESTAMP.

DATETIME() fungerar också mot formaten DATE och TIME, då med sina begränsningar, samt mot VARCHAR om du lagrat din tid i samma format som ovanstående format ger, men det sista finns ingen anledning till, då det bara tar mer utrymme i databasen, samt går något saktare.

mapsiMedlem sedan nov. 20054 inlägg
#19

Ok,
genast dök två frågor upp:
vad innebär då datum?

och

spelar det någon roll VAR i filen man klistar in denna kodsnutt?

MatteMedlem sedan aug. 20002 970 inlägg
#20

mapsi skrev:

vad innebär då datum?

http://dev.mysql.com/doc/refman/5.0/en/date-and-time-types.html

mapsi skrev:

spelar det någon roll VAR i filen man klistar in denna kodsnutt?

Vad menar du?
Lämpligtvis i den SQL-fråga där man hämtar sitt datum för att använda/visa det.

Genererad på 507 ms · cache AV · v20260730165559-full.f96bc7eb