Witam, mam problem
czy jest jakiś prosty sposób na dodawanie X godzin oraz Y minut i Z sekund do pewnej daty?
biorąc pod uwage to że gdy Z > 59 to Y = Y + 1 a Z = Z - 60
tak samo z godziną ... a nawet i dniem... bo co jeżeli to będzie 23:59:02
a dodam 2 minuty ? będzie już kolejny dzień (IMG:
http://forum.php.pl/style_emoticons/default/smile.gif)
a co jeśli będzie 30-01 23:59:02 i dodam 2 minuty ?
będzie kolejny miesiąc...
tylko że nie każdy miesiąc ma tyle samo dni....
póki co zrobiłem takie coś....
ale wiem że to będzie wadliwy system bo dni w miesiącach nie jest tyle samo : (
<?
$data_wyruszenia = '2007-12-10 10:58:58';
$data_wyruszenia = date('Y-m-d H:i:s', strtotime($data_wyruszenia));
$data = date('Y-m-d H:i:s'); // dzisiajsza data
$r_y = $y_data - $y_wyruszenia;
$r_m = $m_data - $m_wyruszenia;
$r_d = $d_data - $d_wyruszenia;
$r_h = $h_data - $h_wyruszenia;
$r_i = $i_data - $i_wyruszenia;
$r_s = $s_data - $s_wyruszenia;
if($r_s < '0')
{
$r_i = $r_i - 1;
$r_s = 60 + $r_s;
}
if($r_i < '0')
{
$r_h = $r_h - 1;
$r_i = 60 + $r_i;
}
$s_h = $h_data + $r_h;
$s_i = $i_data + $r_i;
$s_s = $s_data + $r_s;
if($s_s > '59')
{
$s_i = $s_i + 1;
$s_s = $s_s - 60;
}
if($s_i > '59')
{
$s_h = $s_h + 1;
$s_i = $s_i - 60;
}
$data_powrotu_ymd = date('Y-m-d'); $data_powrotu_his = $s_h.':'.$s_i.':'.$s_s;
$data_powrotu = $data_powrotu_ymd.' '.$data_powrotu_his;
echo 'data obecna: '.$data.'<br>'; echo 'data wyruszenia: '.$data_wyruszenia.'<br>'; echo 'data powrotu: '.$data_powrotu.'<br><br>';
echo 'roznica lat: '.$r_y.'<br>'; echo 'roznica miesiecy: '.$r_m.'<br>'; echo 'roznica dni: '.$r_d.'<br>'; echo 'roznica godzin: '.$r_h.'<br>'; echo 'roznica minut: '.$r_i.'<br>'; echo 'roznica sekund: '.$r_s.'<br>';
?>
Ten post edytował modern 10.12.2007, 12:24:58