Hoe add je 6 uur toe aan een timestamp
title says it all
Hoe voeg je 6 uur toe aan een timestamp als:
2011-09-08 20:33
Gewijzigd op 10/09/2011 06:30:13 door - SanThe -
Toevoeging op 10/09/2011 12:23:23:
maar toch, hoe add ik 6 uur aan die string
oorspronkeling is het trouwens wel een timestamp. maar omdat de secondes niet zo belangrijk waren, heb ik het ingekort door de timestamp te zetten in een substr($timestamp, -3);
dus, hoe doe je dat?
Als het echt een timestamp is kan je er gewoon 6*3600 bij optellen.
Code (php)
Gewijzigd op 10/09/2011 13:19:13 door Robert dat ben ik
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$sql = "SELECT UNIX_TIMESTAMP(datum) AS datum,0 FROM tabelnaam";
$query = mysql_query($sql);
$fetch = mysql_fetch_object($query);
// 1 uur is 3600 seconden
$zesuur = $fetch->datum+21600;
$date = date("Y-m-d H:i:s", $zesuur);
echo $date;
?>
$sql = "SELECT UNIX_TIMESTAMP(datum) AS datum,0 FROM tabelnaam";
$query = mysql_query($sql);
$fetch = mysql_fetch_object($query);
// 1 uur is 3600 seconden
$zesuur = $fetch->datum+21600;
$date = date("Y-m-d H:i:s", $zesuur);
echo $date;
?>
Toevoeging op 10/09/2011 13:23:44:
Robert dat ben ik op 10/09/2011 13:18:40:
Maar dat werkt niet als je in de database je gegevens in datetime hebt staan.
Martijn L op 10/09/2011 13:21:34:
ik doe dat altijd zo:
Toevoeging op 10/09/2011 13:23:44:
Maar dat werkt niet als je in de database je gegevens in datetime hebt staan.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$sql = "SELECT UNIX_TIMESTAMP(datum) AS datum,0 FROM tabelnaam";
$query = mysql_query($sql);
$fetch = mysql_fetch_object($query);
// 1 uur is 3600 seconden
$zesuur = $fetch->datum+21600;
$date = date("Y-m-d H:i:s", $zesuur);
echo $date;
?>
$sql = "SELECT UNIX_TIMESTAMP(datum) AS datum,0 FROM tabelnaam";
$query = mysql_query($sql);
$fetch = mysql_fetch_object($query);
// 1 uur is 3600 seconden
$zesuur = $fetch->datum+21600;
$date = date("Y-m-d H:i:s", $zesuur);
echo $date;
?>
Toevoeging op 10/09/2011 13:23:44:
Robert dat ben ik op 10/09/2011 13:18:40:
Maar dat werkt niet als je in de database je gegevens in datetime hebt staan.
Ik zie hem nergens over een database praten,
Gewijzigd op 10/09/2011 13:29:50 door Robert dat ben ik
Ik ook niet maar ik zie hem überhaupt weinig info geven:O
yeps :P
martijn, dat soort dingen moet je gewoon met sql afhandelen
ik was aan het werk vandaag.
uhm, ik heb het nog niet getest wat jullie hebben gezegd, maar allereerst; dank jullie wel voor de adviezen.
het is een database timestamp, het is erin gezet met NOW() en een sql functie met onchange ofzo.
het zijn dus 2 timestamps
maar die server is amerikaans, vandaar dat ik bij het weergeven 6 uur erbij op wil tellen.
ik kan de php.ini niet veranderen ofzo, dus het moet handmatig
ik ga even wat proberen
waar ik gisteren was gekomen was dit :p
Code (php)
1
2
3
4
5
2
3
4
5
$exp=explode($lijst->timestamp,":");
$xp=explode($exp['0']," ");
$xpp=$xp+6;
$time=$xp['0']." ".$xpp.":".$exp['1'];
$lijst->timestamp = $time;
$xp=explode($exp['0']," ");
$xpp=$xp+6;
$time=$xp['0']." ".$xpp.":".$exp['1'];
$lijst->timestamp = $time;
Toevoeging op 10/09/2011 20:35:59:
Martijn L op 10/09/2011 13:21:34:
ik doe dat altijd zo:
Toevoeging op 10/09/2011 13:23:44:
Maar dat werkt niet als je in de database je gegevens in datetime hebt staan.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$sql = "SELECT UNIX_TIMESTAMP(datum) AS datum,0 FROM tabelnaam";
$query = mysql_query($sql);
$fetch = mysql_fetch_object($query);
// 1 uur is 3600 seconden
$zesuur = $fetch->datum+21600;
$date = date("Y-m-d H:i:s", $zesuur);
echo $date;
?>
$sql = "SELECT UNIX_TIMESTAMP(datum) AS datum,0 FROM tabelnaam";
$query = mysql_query($sql);
$fetch = mysql_fetch_object($query);
// 1 uur is 3600 seconden
$zesuur = $fetch->datum+21600;
$date = date("Y-m-d H:i:s", $zesuur);
echo $date;
?>
Toevoeging op 10/09/2011 13:23:44:
Robert dat ben ik op 10/09/2011 13:18:40:
Maar dat werkt niet als je in de database je gegevens in datetime hebt staan.
ik probeerde dit:
$zesuurr = $lijst->timestamp+21600;
$changed = date("Y-m-d H:i:s", $zesuurr);
$zesuur=$lijst->created+21600;
$created = date("Y-m-d H:i:s", $zesuur);
en er kwam uit:
1970-01-01 01:33
n.b.: bij beide variabelen ($changed en $created) heb ik substr($variable,-3); gebruikt voordat ik ze echo. dus vandaar geen secondes.
Hoe jij dan aan eerdere tijd komt vraag ik mij af
In elk geval jou database weergeeft niet wat hij moet weergeven
EDIT:
Als jij echo $lijst->timestamp; neerzet wat staat er dan?
Gewijzigd op 10/09/2011 23:06:18 door Martijn L
2011-09-08 20:08:30
Gewijzigd op 11/09/2011 00:04:39 door - SanThe -
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$sql = "SELECT UNIX_TIMESTAMP(timestamp) AS timestamp,0 FROM tabelnaam";
$query = mysql_query($sql);
$lijst = mysql_fetch_object($query);
// 1 uur is 3600 seconden
$zesuur = $lijst->timestamp+21600;
$date = date("Y-m-d H:i:s", $zesuur);
echo $date;
?>
$sql = "SELECT UNIX_TIMESTAMP(timestamp) AS timestamp,0 FROM tabelnaam";
$query = mysql_query($sql);
$lijst = mysql_fetch_object($query);
// 1 uur is 3600 seconden
$zesuur = $lijst->timestamp+21600;
$date = date("Y-m-d H:i:s", $zesuur);
echo $date;
?>
thx!
@martijn, ik had een foutje gemaakt met de variable naam. ik had $lijst->changed opgeschreven, ipv $lijst->timestamp
sorryyy jouw script werkt ook!