Gå til innhold

Finne differanse mellom to datoer?


Anbefalte innlegg

Hei, som tittelen sier trenger jeg å vite hvordan man gjør dette.

 

Hvis jeg da har en databasetabell som heter "aksjekurs", en kollonne heter kurs, og den andre heter dato. Hver gang det kommer inn ny kurs, oppdateres datoen automatisk i tabellen. Denne datoen skal kunne brukes til å finne differansen mellom dagens dato i PHP og den datoen som kanskje kan ha ligget i databasen i flere dager.

 

Så spørsmålet blir da: Hvordan lager jeg denne tabellen (ihvertfall dato kollonnen) og hvordan kan jeg bruke datoen til å ta differansen?

 

På forhånd, takk! :)

Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet+6132

Det enkleste er vel å bruke date("U") som timestamp, da du bare trekker tidene fra hverandre og kan derfra enkelt regne ut hvor mange minutter/timer/dager som er i forskjell.

Lenke til kommentar

timestamp i mySQL er UNIX_TIMESTAMP()

 

denne kan du bruke sammen med DATETIME kolonnen i mySQL

 

SELECT noe FROM tabell where UNIX_TIMESTAMP('2006-04-19') < UNIX_TIMESTAMP('upcomming_events');

 

dette burde fungere utmerket. om du vil trekke fra et vist antall dager kan det bli slik:

 

SELECT noe FROM tabell where UNIX_TIMESTAMP('2006-04-19') > UNIX_TIMESTAMP('news_written_time')-(60*60*24*10);
--Dette vil hente ut alle "nyheter" som er nyere enn 10 dager

Lenke til kommentar
Gjest Slettet+6132
Takk for svar folkens! Men går det ann å finne ut hvor mange dager det har gått siden f.eks. 1.januar, år 2005 til i dag? I så fall hvordan?

5952519[/snapback]

 

<?php
$start = mktime(0, 0, 0, 1, 1, 2005); // 01.01.05
$end = date("U"); // Now

$diff = $end - $start;

$diffdays = $diff / 86400; // 86400 = 1 day
$diffdays = round($diffdays, 1);

echo "Start: " . date("d.m.y", $start) . "\n";
echo "End: " . date("d.m.y", $end) . "\n";
echo "Difference: $diffdays days";
?>

 

EDIT: Returnerer noe som dette:

Start: 01.01.05
End: 20.04.06
Difference: 474.2 days

Endret av Slettet+6132
Lenke til kommentar
Det enkleste er vel å bruke date("U") som timestamp, da du bare trekker tidene fra hverandre og kan derfra enkelt regne ut hvor mange minutter/timer/dager som er i forskjell.

5951009[/snapback]

Kansje litt offtopic...

 

Hvorfor bruker du date("U") ikke time()?

Lenke til kommentar
Gjest Slettet+6132
Kansje litt offtopic...

 

Hvorfor bruker du date("U") ikke time()?

5953248[/snapback]

 

Godt spørsmål ... *dikte opp dumt svar*; For at du skal få noe å spørre om!

 

:D

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...