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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: подсчёт кол-ва часов
 
 автор: varvar   (31.08.2008 в 02:22)   письмо автору
 
 

Господа форумчане,такой вопрос: пишу скрипт для расчёта зарплаты работника работающего посменно. требуется ввести в форме время начала смены и время конца смены. А проблема в том что меня заклинило и я не могу сообразить как посчитать кол-во отработанных часов ночной смены,если она начинается в 23:00 и заканчивается в 7:00. С утренней и вечерней сменой вроде всё просто,а тут меня заклинило :(((
Может есть у кого мысли на этот счёт?

  Ответить  
 
 автор: Drago   (31.08.2008 в 03:01)   письмо автору
 
   для: varvar   (31.08.2008 в 02:22)
 

А может быть такое, что третья смена будет начинаться, скажем в 1.00? Или, начинаться в 22.00 а заканчиваться в 0.00?
Можно сделать так (учитываются только часы):

<?
if ($begin $end
    
$count 24 $begin $end;
else
    
$count $end $begin;
?>


Собственно, этот вариант можно использовать для любой смены.

  Ответить  
 
 автор: varvar   (31.08.2008 в 03:16)   письмо автору
 
   для: Drago   (31.08.2008 в 03:01)
 

оба варианта рабочие, спасибо народ,терь дело пойдёт:)))))

  Ответить  
 
 автор: xx77   (31.08.2008 в 03:02)   письмо автору
 
   для: varvar   (31.08.2008 в 02:22)
 

<pre><?php
// массив (начало смены, конец смены , колличество смен);
$vsego 0;
$array = array(
array(
237121),
array(
715122),
array(
1523123)
);

function 
exploiter($a)
{
global 
$vsego;
$smena = ($a[0] > $a[1] ) ? (24-$a[0]) + $a[1] :  $a[1] - $a[0];

$a $smena $a[2];
$vsego += $a;
return 
$a;
}

$hours array_map('exploiter'$array);

print_r($hours);
print 
'<hr>' $vsego;
?>

непроверял .)

  Ответить  
 
 автор: varvar   (31.08.2008 в 03:09)   письмо автору
 
   для: xx77   (31.08.2008 в 03:02)
 

для Drago : если бы было можно...но увы и ах,всё равно спасибо:))
для xx77 : спасибо,выглядит логично,щас проверю и отпишусь:)))

  Ответить  
 
 автор: varvar   (31.08.2008 в 03:17)   письмо автору
 
   для: xx77   (31.08.2008 в 03:02)
 

работает!!! спасибо!

  Ответить  
Rambler's Top100
вверх

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