Hoe add je 6 uur toe aan een timestamp
hee
title says it all
Hoe voeg je 6 uur toe aan een timestamp als:
2011-09-08 20:33
title says it all
Hoe voeg je 6 uur toe aan een timestamp als:
2011-09-08 20:33
Dit: 2011-09-08 20:33 is geen timestamp.
Gewijzigd op 10/09/2011 06:30:13 door - SanThe -
oh...
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?
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
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.
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
hee sorry
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
Toevoeging op 10/09/2011 20:35:59:
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.
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.
Dat komt omdat 21600 in de datum notatie 1970-01-01 07:00:00 weergeeft.
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?
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
echo $lijst->timestamp weergeeft:
2011-09-08 20:08:30
2011-09-08 20:08:30
Gewijzigd op 11/09/2011 00:04:39 door - SanThe -
Is dit niet goed dan?
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;
?>
hee san the, het werkt!
thx!
@martijn, ik had een foutje gemaakt met de variable naam. ik had $lijst->changed opgeschreven, ipv $lijst->timestamp
sorryyy jouw script werkt ook!
thx!
@martijn, ik had een foutje gemaakt met de variable naam. ik had $lijst->changed opgeschreven, ipv $lijst->timestamp
sorryyy jouw script werkt ook!




