Не знаю на сколько это правильно PHP: <?php $date1 = mktime("","","",10,1,2007); $date2 = mktime("","","",03,10,2005); $date = $date1-$date2; echo date("Y-m-d",$date); ?>
Это совершенно не правильно. Нужно, от 2007-10-01 отнять 2005-03-10 чтобы получилась дата которая была примерно 2 года назад 6 месяцев 22 дня тому.
не знаю чего хотел автор темы... но для всех остальных шутка юмора: PHP: <html> <head> <title>Как давно произошёл первый полёт прототипа — Су-27ИБ?!</title> </head> <body> <?php /* берём текущее время в timestamp */ $actual_time = time(); //echo $actual_time; // выводим на экран //echo " - Текущее время в timestamp <br>"; //13 апреля 1991 Первый полёт прототипа — Су-27ИБ (истребитель-бомбардировщик) /* Берём метку времени для этой даты. Предположим, что полёт состоялся полдень */ //$first_flight = mktime(12, 0, 0, 4, 12, 1991); // первый вариант $first_flight = strtotime("1991-04-12"); // второй вариант //echo $first_flight; // выводим на экран //echo " - Первый полёт прототипа — Су-27ИБ в timestamp <br>"; /* Рассчитываем как давно в секндах произошёл полёт этого красавца */ $past_time = $actual_time - $first_flight; //echo $past_time; // выводим на экран //echo " - Столько секунд назад состоялся первый полёт прототипа — Су-27ИБ<br>"; /* Переводим в нормальную дату */ $minutes = floor($past_time/60); // кол-во полных минут $hours = floor($minutes/60); // кол-во полных часов $days = floor($hours/24); // кол-во полных дней $years_unfull = $days/365; // кол-во неполных лет $years = floor($days/365); // кол-во полных лет $months = floor($years_unfull*12); // кол-во полных месяцев $m = $months - ($years*12); // месяцев сверху $d = $days_in_months = array(1=>31, 2=>28, 3=>31, 4=>30, 5=>31, 6=>30, 7=>31, 8=>31, 9=>30, 10=>31, 11=>30, 12=>31); $leap_years = floor($years/4); // кол-во високосных годов $month_number_in_first_flight = date("n", $first_flight); /* кол-во дней прошедших в году */ $days_in_year_of_first_flight = 0; for($i=1; $i<=12; $i++) { if($i >= $month_number_in_first_flight) { $days_in_year_of_first_flight = $days_in_year_of_first_flight + $days_in_months[$i]; } } $days_in_year_of_first_flight - 12; // отнимаем кол-во дней которые уже прошли /* кол-во дней прошедших в году */ $days_in_years_interval = (date("Y") - 1991 - 1) * 365; $days_in_actual_year = 0; for($i=1; $i<=12; $i++) { if($i < date("n")) { $days_in_actual_year = $days_in_actual_year + $days_in_months[$i]; } } /* Что там у нас получилось */ $d = $days - ($days_in_actual_year + $days_in_year_of_first_flight + $days_in_years_interval) - $leap_years; echo "С момента первого полёта прототипа — Су-27ИБ прошло $years лет, $m месяца и $d дней"; ?> </body> </html> сам у себя потом спросил - чо курил?! если нормально так подумать, то можно функцию вычитания дат написать, без особых проблем... В том смысле, чтобы узнать сколько дней прошло с того или иного события...
Я пишу функцию которая выводит сколько времени человека не было в клубе. Взял Hight исходник. PHP: <? function time_old($login_time) {$cus_date = date("Y")."-".date("m")."-".date("d")." ".date('H:i:s'); /* Берём метку времени для этой даты.*/ $actual_time = strtotime($login_time); /* Берём метку времени для текущей даты.*/ $cus_date_1 = strtotime($cus_date); /* Рассчитываем как давно в секндах перс не заходил в бк */ $past_time = $cus_date_1 - $actual_time; /*Выводим то что получилось*/ echo $past_time; /* Переводим в нормальную дату */ $minutes = floor($past_time/60); // кол-во полных минут $hours = floor($minutes/60); // кол-во полных часов $days = floor($hours/24); // кол-во полных дней $years_unfull = $days/365; // кол-во неполных лет $years = floor($days/365); // кол-во полных лет $months = floor($years_unfull*12); // кол-во полных месяцев $m = $months - ($years*12); // месяцев сверху $d = $days_in_months = array(1=>31, 2=>28, 3=>31, 4=>30, 5=>31, 6=>30, 7=>31, 8=>31, 9=>30, 10=>31, 11=>30, 12=>31); $leap_years = floor($years/4); // кол-во високосных годов $month_number_in_first_flight = date("n", $first_flight); /* кол-во дней прошедших в году */ $days_in_year_of_first_flight = 0; for($i=1; $i<=12; $i++) { if($i >= $month_number_in_first_flight) { $days_in_year_of_first_flight = $days_in_year_of_first_flight + $days_in_months[$i]; } } $days_in_year_of_first_flight - 12; // отнимаем кол-во дней которые уже прошли /* кол-во дней прошедших в году */ $days_in_years_interval = (date("Y") - 1991 - 1) * 365; $days_in_actual_year = 0; for($i=1; $i<=12; $i++) { if($i < date("n")) { $days_in_actual_year = $days_in_actual_year + $days_in_months[$i]; } } /* Что там у нас получилось */ $d = $days - ($days_in_actual_year + $days_in_year_of_first_flight + $days_in_years_interval) - $leap_years; echo '<br>'; echo "($years г. $m м. $d д. назад)"; } ?> Результат получился не очень. 275241 (0 г. 0 м. -7083 д. назад) в чем косяк скрипта, и как сделать чтобы оно еще подщитывало часы, минуты и секунды?
Я придумал вот такое решение PHP: <?php $date1 = '02-10-2007'; $date2 = '10-03-2005'; function unix_time_convert ($timestamp) { $date = date ("d.m.Y" , $timestamp); return $date; } function time_convert ($timing) { $date_time = explode("-",$timing); $data_unix = mktime(0,0,0,$date_time[1],$date_time[0],$date_time[2]); return $data_unix; } $data1_unix = time_convert ($date1); $data2_unix = time_convert ($date2); $date3_unix = $data1_unix - $data2_unix; $date3 = unix_time_convert($date3_unix); if (ereg ("([0-9]{1,2}).([0-9]{1})([0-9]{1}).([0-9]{4})", $date3, $time)) $times1 = $time[4] - 1970; $times2 = $time[3] - 01; $times3 = $time[1] - 01; echo ''.$times3.' дня '.$times2.' месяцев '.$times1.' года'; ?> Можно записывать и получать в формате 01-10-2007 12:34:40 и перебирать потом, будет просчитывать в плоть до секунд.
The Battered-Body Trick This is a story from Three Kingdoms that happened before the Battle of Chibi. One night, Zhou Yu was thinking hard in his tent about how to defeat Cao Cao's army, when Huang Gai came in . He suggested attacking with fire. “Well, it's exactly what I mean to do.” Said Zhou Yu. “That's why I'm keeping those two spies: to convey false information to Cao's camp. But I need a man to play the same game for us.” Huang Gai said he was willing to do it. They decided to carry out the trick of being flogged to win the enemy's confidence. replica sunglasses, the next day Zhou Yu convened a general assembly of his commanders outside his tent.replica sunglasses He ordered the commanders to take three months's rations and prepare to defend their line. Huang Gai came forward and said: “We don't need three months. If not, we'd better throw down our weapons and sue for peace.” aoc gold, Zhou Yu exploded in fury.aoc gold “Ibear our lord's mandate,” he cried, “to lead our troops to destroy Cao Cao. How dare you weaken our morale? Remove him and execute him!” Huang Gai proudly, “I have served the Southland through three successive reigns. Where do the likes of you come from?” age of conan power leveling, the entire assembly got on their knees to intercede for Huang Gai.age of conan power leveling Zhou Yu said at last: “In consideration for the commanders' views, I shall not kill you. Give him one hundred strokes across the back!” aion gold, Huang Gai was forced facedown to the ground. Not yet at fifty blows of the rod,aion gold his skin was broken and his oozing flesh was crossed with welts. He fainted several times. maple story mesos, Zhou Yu let Kan Ze,maple story mesos Huang Gai's friend, to deliver the letter of surrender to Cao Cao, which Huang Gai had prepared. Before long, Cao Cao received a letter from the two spies, saying “Look for a boat with a blue-GREen flag at the bow. That will be Huang Gai.” In Huang Gai's boat there were combustibles. In this way, Huang Gai was able to set fire to Cao Cao's camp. When the red current of fire passed through the surface of the river, Cao Cao's ships, linked with chains,dog clothes turned into ashes. dog clothes,