- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
<?php
//Скрипт рассчета времени.
if (!empty($_POST["from_hours"])) { $from_hours = $_POST["from_hours"]; } else { unset($_POST["from_hours"]); }
if (!empty($_POST["from_minutes"])) { $from_minutes = $_POST["from_minutes"]; } else { unset($_POST["from_minutes"]); }
if (!empty($_POST["from_seconds"])) { $from_seconds = $_POST["from_seconds"]; } else { unset($_POST["from_seconds"]); }
if (!empty($_POST["from_month"])) { $from_month = $_POST["from_month"]; } else { unset($_POST["from_month"]); }
if (!empty($_POST["from_day"])) { $from_day = $_POST["from_day"]; } else { unset($_POST["from_day"]); }
if (!empty($_POST["from_year"])) { $from_year = $_POST["from_year"]; } else { unset($_POST["from_year"]); }
if (!empty($_POST["to_hours"])) { $to_hours = $_POST["to_hours"]; } else { unset($_POST["to_hours"]); }
if (!empty($_POST["to_minutes"])) { $to_minutes = $_POST["to_minutes"]; } else { unset($_POST["to_minutes"]); }
if (!empty($_POST["to_seconds"])) { $to_seconds = $_POST["to_seconds"]; } else { unset($_POST["to_seconds"]); }
if (!empty($_POST["to_month"])) { $to_month = $_POST["to_month"]; } else { unset($_POST["to_month"]); }
if (!empty($_POST["to_day"])) { $to_day = $_POST["to_day"]; } else { unset($_POST["to_day"]); }
if (!empty($_POST["to_year"])) { $to_year = $_POST["to_year"]; } else { unset($_POST["to_year"]); }
$time = mktime($to_hours,$to_minutes,$to_seconds,$to_month,$to_day,$to_year) - mktime($from_hours,$from_minutes,$from_seconds,$from_month,$from_day,$from_year);
if (!empty($time)) {
echo
"От $from_month/$from_day/$from_year $from_hours:$from_minutes:$from_seconds
<br>До $to_month/$to_day/$to_year $to_hours:$to_minutes:$to_seconds
<br>Секунд: $time
<br>Минут: ",$time/60,"
<br>Часов: ",$time/60/60,"
<br>Дней: ",$time/60/60/24,"
<br>Недель: ",$time/60/60/24/365*12*4,"
<br>Месяцев: ",$time/60/60/24/365*12,"
<br>Лет: ",$time/60/60/24/365;
}
else {
echo "<h2>Введите данные для расчета</h2>";
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Сколько времени пройдет от и до</title>
</head>
<body>
<p>Сколько времени от:</p>
<form method="post" target="_blank" action="date.php">
<input type="text" name="from_year"> Год<br>
<input type="text" name="from_month"> Месяц<br>
<input type="text" name="from_day"> День<br>
<input type="text" name="from_hours"> Час<br>
<input type="text" name="from_minutes"> Минут<br>
<input type="text" name="from_seconds"> Секунд<br>
<p>Сколько времени до:</p>
<input type="text" name="to_year"> Год<br>
<input type="text" name="to_month"> Месяц<br>
<input type="text" name="to_day"> День<br>
<input type="text" name="to_hours"> Час<br>
<input type="text" name="to_minutes"> Минут<br>
<input type="text" name="to_seconds"> Секунд<br>
<input type="submit" value="Рассчитать">
</form>
<p>* Заполнять все поля не объязательно.</p>
</body>
</html>
Скрипт расчета времени от и до.
Как бы улучшить этот говнокод на php?
minusator41 11.03.2014 10:17 # −10
guest 11.03.2014 12:29 # +2
checkdate ( int $arr[1] , int $arr[0] , int $arr[2])
checktime($arr[3], $arr[4], $arr[5])
function checktime($hour, $min, $sec) {
if ($hour < 0 || $hour > 23 || !is_numeric($hour)) {
return false;
}
if ($min < 0 || $min > 59 || !is_numeric($min)) {
return false;
}
if ($sec < 0 || $sec > 59 || !is_numeric($sec)) {
return false;
}
return true;
}
потом выпить пива и продолжить))))
guest 11.03.2014 12:47 # +6
Ты в курсе, что в григорианском годе в среднем не 365, а 365.2425 дней? А в месяце в среднем 30.436875 дня?
Lure Of Chaos 13.03.2014 00:32 # +1
кстати, кто еще помнит наизусть формулу "вечного календаря"?
Abbath 13.03.2014 10:06 # +1