Gå til innhold

Øke timestamp med X antall timer..


Anbefalte innlegg

Hesann, jeg har multiple "timestamps", som er lagret i mySQL..

Jeg ser at jeg trenger muligheten til å få "øket" disse, gjennom et php script...

 

Jeg har funnet ut en grei måte å legge inn disse timestamps, hvor jeg kan øke med antall timer...

$hours = $_POST['hours'];

$uptodate = date("Y-m-d H:i:s", mktime(date('H')+$hours, date('i'), date('s'), date('m'), date('d'), date('Y')));

...UPDATE `betabase` SET date='$uptodate' WHERE id='unique1' AND name='somethin unique'...

 

Men, denne datoen ønsker jeg å kunne "utvide", før den er "forbi", når jeg trenger det..

Slik at jeg like simpelt kan legge til et par-tre timer, før "alarmen" går..

 

Noen som vet en enkel måte?, må benytte meg av timestamp, så det er sagt.. Kommer av at jeg har en cronjob som sjekker hvor vidt tiden er ute eller ei..

Endret av slacky
Lenke til kommentar
Videoannonse
Annonse

Datoer i timestamp-format er jo oppgitt i sekunder, så du kan jo gange antall timer ($_POST['hours']) med 3.600 (60 minutter * 60 sekunder = 3.600 sekunder) og legge dette sammen med den eksisterende timestampen.

 

I teorien kan man vel lage en funksjon noe lignende dette:

 

function update_time($timestamp, $hours) {
   return $timestamp + ($hours * 3600);
}

 

Og deretter gjøre noe noe slikt:

 

$new_time = update_time($timestamp_fra_databasen, $_POST['hours']);

... UPDATE `betabase` SET date='$new_time' WHERE id='unique1' AND name='somethin unique' ...

 

Jeg beklager hvis jeg misforsto spørsmålet ditt.

Lenke til kommentar

Dette virker veldig korrekt, og kan tenke meg at det fungerer helt flott! Var noe slik jeg tenkte selv, men har ikke tenkt over at timestamp er oppgitt i timer.. Som du legger merke til i mitt første script.

Lenke til kommentar

Nei, nå surret jeg selv, litt. Er ikke snakk om unix timestamp. Men om en simpel "mysql"-timestamp. Men, skal teste litt, og se om det lar seg gjøre med unix-timestamp.. :)

 

Lagrer slik nå: 2010-07-17 22:30:01

Lenke til kommentar

Hvis det kun er snakk om timer så skulle en enkel update spørring funke.

UPDATE `betabase` set `date`=date_add(`date`, INTERVAL $Hours HOURS) WHERE id='unique1' AND name='somethin unique' ...

 

Dette krever da at dato feltet er av typen datetime eller timestamp

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...