Автор Тема: Сложение времени  (Прочитано 7316 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Shaman_rnd

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 41
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Сложение времени
« : 09 Сентября 2003, 11:50:40 »
Люди, посоветуйте, как лучше сделать.
есть таблица в мускуле примерного вида:

id     | имя     | приход | уход

1      |  вася   | 9-00     | 12-30
2      | вася    | 10-30   | 11-00

и т.д.....
как лучше подсчитать количество отработаных часов??

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
Сложение времени
« Ответ #1 : 09 Сентября 2003, 12:02:27 »
надо начать с того, что вводить время в формате времени
ну, будем исповедоваться?

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
Сложение времени
« Ответ #2 : 09 Сентября 2003, 12:08:19 »
А "приход" и "уход" в каком формате хрянятся?
Не все коту матрица.

Оффлайн Shaman_rnd

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 41
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Сложение времени
« Ответ #3 : 09 Сентября 2003, 12:27:09 »
да еще ни в каком, я хочу узнать как это все лучше сделать будет

Оффлайн Michel_Mak

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 256
  • +0/-0
  • Пол: Мужской
  • 0
    • Просмотр профиля
    • http://#
Сложение времени
« Ответ #4 : 09 Сентября 2003, 12:32:48 »
Храни, как AliMamed сказал - так и делай. А потом уход-приход= рабочее время. Незабудь про обед :)
С уважением,
Michel

Оффлайн Shaman_rnd

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 41
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Сложение времени
« Ответ #5 : 09 Сентября 2003, 12:35:00 »
ок.спасибо, попробую

Оффлайн mikelsv

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 40
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.MikelSV.com
Сложение времени
« Ответ #6 : 10 Сентября 2003, 23:11:49 »
1) Время пишешь в формате 00-00 (09-30).
конец в часах= substr(уход,0,2);
конец в минутах= substr(уход,2,2);
начало в часах= substr(приход,0,2);
начало в минутах= substr(приход,2,2);

Получится:
конец в часах= 12
конец в минутах= 30
начало в часах= 09
начало в минутах= 00


Дальше сам додумаешься?

Будут еще вопросы пиши на http://www.mikelsv.com/forum Интернет програмирование. Чем смогу помогу.

Оффлайн voodoo

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 25
  • +0/-0
  • 0
    • Просмотр профиля
    • http://vochat.com/
Сложение времени
« Ответ #7 : 11 Сентября 2003, 02:17:40 »
mikelsv, ну просто ужас летящий на крыльях ночи.
так вот и появляются проблемы 2к.

А если перец в ночную смену работает, с 22.00 до 6.00, это что же, -16 часов ему записывать за каждый выход?
WBR и все такое,
Voodoo http://vochat.com/

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
Сложение времени
« Ответ #8 : 11 Сентября 2003, 11:40:05 »
[off]mikelsv еще один такой постинг и будешь забанен[/off]
ну, будем исповедоваться?

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
Сложение времени
« Ответ #9 : 11 Сентября 2003, 12:47:24 »
Цитировать
mikelsv:
http://www.mikelsv.com/forum Интернет програмирование

[OFF]были мы там, ноль постов... популярный форум[/OFF]
работа в Украине

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Сложение времени
« Ответ #10 : 11 Сентября 2003, 12:54:28 »
Yukko
[off]
флейм не разводи
[/off]
AS IS...

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Сложение времени
« Ответ #11 : 11 Сентября 2003, 13:25:07 »
В коде не опишу, в PHP не работал, но алгортм примерно такой:

1. Выборка по пользователю из базы;
2. Цикл построчной обработки выбранных данных;
2.1. Если уж у тебя формат времени hh-mm, то переводишь это время в часы: hh+(mm/60). (хотя логичней было бы записывать в базу либо просто часы с дробью, либо минуты с 00.00)
2.2. Если начальное время больше конечного времени, то:
2.2.1. время работы = (24 - начальное время) + конечное время;
2.3. Иначе
2.3.1. время работы = конечное время - начальное время;
2.4. всего времени отработано = всего времени отработано + время работы;
3. Конец цикла построчной обработки выбранных данных;

Ответ: всего времени отработано :)

P.S. Только смена должна быть не более 24 часов...

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
Сложение времени
« Ответ #12 : 11 Сентября 2003, 13:29:49 »
У меня приходит на ум перевести все в Unixtimestamp и все операции проводить с ним.
работа в Украине

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Сложение времени
« Ответ #13 : 11 Сентября 2003, 13:36:48 »
Yukko
Для математики, самое то, половину лишних движений убирается, и работать корректней будет, отпадают лишние проверки.

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Сложение времени
« Ответ #14 : 11 Сентября 2003, 13:42:41 »
Yukko
Э...
перестанет работать после 36 года
AS IS...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28