Rekenen met tijd

  • Onderwerp starter Onderwerp starter otie
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

otie

Gebruiker
Lid geworden
1 dec 2008
Berichten
313
Rekenen met tijd

hallo, ik heb mijn site gehost op 000webhost, maar de servertijd daar loopt 6 uur achter... dus als het hier 12 uur is, is het daar 6 uur. ik heb een mailform die ook de tijd mailt, maar die tijd is verkeerd. en ik denk ook als ik het om 4 uur ´s ochtends mail ofzo dat er dan helemaal niks van klopt als ik alleen de tijd +6 doe, iemand iedeen?
 
Er zijn diverse functies en methodes waarmee je de tijd kunt veranderen. Als je alles binnen een script wilt veranderen kun je bijvoorbeeld date_default_timezone_set() gebruiken. Als het specifiek om één regel gaat kun je date_add() gebruiken. Je geeft zelf aan dat deze laatste methode ongewenste resultaten geeft, kun je uitleggen waarom?

Verder moet de mailserver zelf altijd een volledig datum/tijd meesturen, inclusief de afwijking van de UTC standaardtijd. Bijvoorbeeld:
Code:
2 Apr 2010 20:31:10 +0200
22 Jan 2010 09:21:29 +0100
Dus je kunt jezelf afvragen of je daar wel mee wilt rommelen.
 
Ik weet het niet zeker, maar volgens mij staat de server op GMT -5 (Wij zitten +1 en -6 = dan -5) maar als ik alleen het uur +6 doe, dan wil het fout gaan als het22:00 is daar, dan maakt hij er 28:00 van denk ik. en dan gaat de datum verkeerd en als je om 4:00 een bericht stuurt, dan blijft de datum nog op een dag er voor... dus ik stuur op 13 april om 4:00 (onze tijd) een E-Mail'tje dan word de tijd on het bericht 22:00 + 6 = 4:00 maar dan blijft de datum steken op 12 april...
 
Op welke manier verander je de tijd dan? maw: plaats eens wat code?

PHP:
<?php
	$tienuur = mktime(22,0,0,4,12,2010);
	$later = $tienuur + (6*60*60);
	echo "Tien uur: ".date("H:i:s @ j-n-Y", $tienuur);
	echo "<br />";
	echo "Zes uur later: ".date("H:i:s @ j-n-Y", $later);
?>
 
Ik verander de tijd (nog) niet, dat is juist mijn vraag..
maar ik heb een variable:
PHP:
$datum = date("d.m.Y H:i");
die roep ik later terug als ik de mail verstuur:
PHP:
$inhoud_mail .= "Verstuurd op " . $datum . " via het ip " . $ip . "\n\n";
maar als ik nu de mail stuur, dan veranderd $datum in 11.04.2010 06:03, terwijl de echte tijd 12:03 was...
 
$datum = strtotime("+6 hours");
zou dit moeten oplossen?, uiteraard even omzetten in leesbaar formaat met:
date("d.m.Y H:i", $datum);

edit:
even voor je in je script gemonteerd:
PHP:
$datum = strtotime("+6 hours");
$inhoud_mail .= "Verstuurd op " . date("d.m.Y H:i", $datum) . " via het ip " . $ip . "\n\n";
 
Laatst bewerkt:
Misschien heb je hier wat aan:
PHP:
$datum = date('d.m.Y H:i',time()+(60*60*6));

Groet Joost
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan