webForumDet fria alternativet

dateDiff

4 svar · 195 visningar · startad av mozilla

mozillaMedlem sedan juli 20011 202 inlägg
#1

Jag har tyvärr insett att den vackra funktionen DateDiff inte finns i mySQL och tänkte därför söka er hjälp med hur jag ska göra istället. Koden som jag använde i min SQL sats innan var:

DateDiff(""n"",online_start,Now()) + online_time

Där online_start är den tid man loggar in på hemsidan, och online_time är den tid i minuter man tidigare varit inloggad.

De funktioner jag hittat i mySQLs dokumentation har inte klarat av att få ut minuter. Och en sökning wF gav lite hjälp men inte i just mitt fall. Det jag hittade var detta:

(unix_timestamp(now()) - unix_timestamp(online_start))/100 + online_time

Men den returnerar inte rätt svar :/

LarsGMedlem sedan dec. 200012 465 inlägg
#2
(unix_timestamp() - unix_timestamp(online_start))/60 + online_time

online_start = datetime ?
online_time = int ?

mozillaMedlem sedan juli 20011 202 inlägg
#3

online_start = datetime ?
online_time = int ?

Jo det stämmer.. Men det fungerar inte ändå? Jag testade att vara inloggad i 1 minut men då sparade den 7 i databasen?

LarsGMedlem sedan dec. 200012 465 inlägg
#4

Du får väl dela upp och testa ut saker och ting separat och se om värdena är rimliga.

select unix_timestamp() , now()
          unix_timestamp(online_start) , online_start,
          online_time
  from users where username = 'mozilla'
mozillaMedlem sedan juli 20011 202 inlägg
#5

Aha, mySQL ligger på en annan server. Och den klockan stämmer inte... Det var därför jag fick fel värden. :)

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