Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Сколько времени осталось

Сообщения:  [1-10]   [11-19] 

 
 автор: Fighter   (21.03.2008 в 17:57)   письмо автору
 
   для: Fighter   (21.03.2008 в 13:24)
 

Проверка показала что 1 скрипт работает (вроде как) а 2 неудачный глючит :(
Помоему все таки хрень какая то получилась, помоему не правильно работает.. млин самому интересно как правильно то сделать.

   
 
 автор: Fighter   (21.03.2008 в 13:24)   письмо автору
 
   для: Wunderbar   (21.03.2008 в 01:33)
 

Вот код, прошу прощения за предыдущее высказывание, не так все просто оказалось, но все таки решаемо :) Как сделать проще пока не додумался, код далеко не идеален, как то можно сделать все проще и быстрее и короче, если додумаю как напишу. Пока тольлко это но работает. 3 часа мозг парил.

<?
$timeSQL
=822269458;
$timeNOW=386954;
$time=$timeSQL-$timeNOW;

$day=floor($time/86400);
$hours=floor(($time/3600)-$day*24);
$min=floor(($time-$hours*3600-$day*86400)/60);
$sec=$time-($min*60+$hours*3600+$day*86400);

$month1=31;
$vesokosnyi=date("L");
if(
$vesokosnyi==1)
{
$month2=29;
}else {
$month2=28;}
$month3=31;
$month4=30;
$month5=31;
$month6=30;
$month7=31;
$month8=31;
$month9=30;
$month10=31;
$month11=30;
$month12=31;

$day_now=date("j");
$month_now=date("n");
$year_now=date("Y");
$a='month';
$a.=$month_now;
$j=$day_now;



for(
$i=$day_now;$i<=$day;$i++)
{
$j++;

$ves=$year_now/4;
$ves=gettype($ves);
if(
$ves==integer)
{
$month2=29;
}else {
$month2=28;}

if(
$j==$$a)
{
$month_all+=1;
$a='month';
$month_now+=1;
if(
$month_now>12){$month_now=1;$year_now+=1;}
$a.=$month_now;
$j=1;
}

}
$day_all=$j;

echo 
"Месяц - $month_all: День - $day_all : Час - $hours : Минута - $min : Секунда - $sec";

?>




Или вот еще вариант, только они показывют разное время :( бошка что то уже не варит..
Расчитываем немного подругому и попроще, помоему этот вариант правильнее и проще.


<?
$timeSQL
=822269458;
$timeNOW=386954;
$time=$timeSQL-$timeNOW;

$date_now=date("Y-n-j-G-i-s");
$date_tooday=date("Y-n-j-G-i-s",time() + $time);

$date_now=explode("-",$date_now);
$date_tooday=explode("-",$date_tooday);

$years=$date_tooday["0"]-$date_now["0"];


if(
$date_now["1"]>$date_tooday["1"])
{
$month=$date_now["1"]-$date_tooday["1"];
}
else {
$month=$date_tooday["1"]-$date_now["1"];}


if(
$date_now["2"]>$date_tooday["2"])
{
$day=$date_now["2"]-$date_tooday["2"];
}
else {
$day=$date_tooday["2"]-$date_now["2"];}


if(
$date_now["3"]>$date_tooday["3"])
{
$hours=$date_now["3"]-$date_tooday["3"];
}
else {
$hours=$date_tooday["3"]-$date_now["3"];}


if(
$date_now["4"]>$date_tooday["4"])
{
$min=$date_now["4"]-$date_tooday["4"];
}
else {
$min=$date_tooday["4"]-$date_now["4"];}


if(
$date_now["5"]>$date_tooday["5"])
{
$sec=$date_now["5"]-$date_tooday["5"];
}
else {
$sec=$date_tooday["5"]-$date_now["5"];}

echo 
"Годы - $years : Месяцы - $month: Дни - $day : Часы - $hours : Минуты- $min : Секунды - $sec ";

?>

   
 
 автор: Wunderbar   (21.03.2008 в 01:33)
 
   для: Fighter   (20.03.2008 в 15:03)
 

> ОЧ даже константа, на каждый месяц свое количество дней, а не случайное

Ах как всё просто. Ну приведи код, пожалуйста.

   
 
 автор: Fighter   (20.03.2008 в 15:03)   письмо автору
 
   для: Wunderbar   (20.03.2008 в 15:02)
 

Ну как же.. ОЧ даже константа, на каждый месяц свое количество дней, а не случайное :))))) только февраль меняется и то раз в четыре года :)

   
 
 автор: Wunderbar   (20.03.2008 в 15:02)
 
   для: Fighter   (20.03.2008 в 14:22)
 

> до месяцев и годов думаю сам допишешь
А слабо самому написать? Это и есть самое сложное, ибо количество дней в месяце не константа.

   
 
 автор: Fighter   (20.03.2008 в 14:22)   письмо автору
 
   для: winflip   (20.03.2008 в 07:11)
 

Попробуй, так на вскидку написал, по идее тебе это подойдет


<?
$time
=139320;


$day=floor($time/86400);
$hours=floor(($time/3600)-$day*24);
$min=floor(($time-$hours*3600-$day*86400)/60);
$sec=$time-($min*60+$hours*3600+$day*86400);

echo 
"Дни - $day : Часы - $hours : Минуты - $min : Секунды - $sec";

?>


Может не совсем удачно но черт с ним :) до месяцев и годов думаю сам допишешь :)

   
 
 автор: winflip   (20.03.2008 в 07:11)   письмо автору
 
   для: winflip   (19.03.2008 в 21:14)
 

а не 1 час 61 минута ... секунд

   
 
 автор: winflip   (19.03.2008 в 21:14)   письмо автору
 
   для: KPETuH   (18.03.2008 в 07:44)
 

В том дело мне нужны не только часы, но и дни секунды, минуты, месяцы. То есть еслт 3672 секунды то 1 час 1 минута 12 сукунд!!!!

   
 
 автор: KPETuH   (18.03.2008 в 07:44)   письмо автору
 
   для: winflip   (18.03.2008 в 07:16)
 

ну а вчем тогда проблема не знаете как из секунд получить часы? :)

   
 
 автор: winflip   (18.03.2008 в 07:16)   письмо автору
 
   для: Wunderbar   (16.03.2008 в 11:57)
 

я дошел до того что получил разницу в секундах с текущего момента до того что в таблице

   

Сообщения:  [1-10]   [11-19] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования