webForumDet fria alternativet

Datum.. 1 timme in i framtiden!

PHPur PHP

4 svar · 241 visningar · startad av HDJHSKGDKJHSD

Medlem sedan sep. 2001147 inlägg
Frågan#1

Tjo!

Om jag har ett datum i formatet 2002-01-26 23, dar 23 står för timmen. (jag vill bara ha år/månad/dag/timme)

Hur gör jag för att få datumet ( i mitt format ) fast 1 timme in i framtiden?

Har försökt med detta.....

$datum_nu = Date("Y-m-d H");

$y = substr($datum_nu, 0, 4);
$m = substr($datum_nu, 5, 2);
$d = substr($datum_nu, 8, 2);
$h = substr($datum_nu, 11, 2);

echo date("Y-m-d H", mktime(0,0,0, $m, $d, $y,$h));

Är tydligen helt fel ute, men men :-)

Medlem sedan aug. 20002 975 inlägg
#2

Är lite trött men detta borde fungera:

echo date("Y-m-d H", mktime($h+1,0,0, $m, $d, $y));

------------------
Fiskesällskapet Salamander

Medlem sedan juni 20008 205 inlägg
#3

Timestamps är kalasbra för sånt här.


define('SECONDS_PER_HOUR', 60 * 60);
$timestamp = time(); // sekunder som gått sedan 1970
$timestamp += SECONDS_PER_HOUR; // öka på med 3600 sekunder
echo date( "Y-m-d H", $timestamp );

------------------
Before you criticize someone, walk a mile in his shoes. That way, if he gets angry, he'll be a mile away - and barefoot.

Medlem sedan sep. 2001147 inlägg
#4

tack, det funkade uberbra! :)

en liten följdfråga bara.. om jag har detta datum: 2002-01-28 04

Hur räknar jag ut hur många timmar det är tills det datumet (jämfört med aktuell tid förstås) ?

Medlem sedan aug. 20002 975 inlägg
#5

I stort sett Spango baklänges.

1. Gör om nya tiden till timestamp med mktime().
2. Minska med aktuell tid: -time()
3. Dela med 3600.

------------------
Fiskesällskapet Salamander

140 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)