webForumDet fria alternativet

Timestamp i mysql

PHPur PHP

21 svar · 723 visningar · startad av web00132

Medlem sedan maj 2001797 inlägg
Frågan#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'?

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

Kan fungera...

Medlem sedan maj 2001797 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?

Medlem sedan juli 2002405 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..

Medlem sedan juli 2002405 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();

Medlem sedan maj 2001797 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?

Medlem sedan juli 2002405 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...

Medlem sedan juli 2002405 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å?

Medlem sedan maj 2001797 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

Medlem sedan juli 2002405 inlägg
#10

Så lite så...

Medlem sedan juni 20014 290 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

Medlem sedan juli 20012 450 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...

Medlem sedan aug. 20002 975 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

Medlem sedan maj 2001797 inlägg
#14

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

Medlem 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

Medlem sedan aug. 20002 975 inlägg
#16

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

Medlem sedan nov. 20054 inlägg
#17

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

Medlem sedan aug. 20002 975 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.

Medlem 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?

Medlem sedan aug. 20002 975 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.

133 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)