Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Математика
        Время + програмирование
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Математика" «

Переход к теме
<< Назад Вперед >>
Одна страница
Модераторы: Roman Osipov, RKI, attention, paradise
  

Guest



Новичок

Здраствуйте!

С математикой у меня еще с детства не очень хорошо сложилось, но сейчас столкнулся с проблемой отсчета времени от заданой даты и вот уже посинею, но не получается вычисить нужные числа. По профессии веб дизайнер, работаю над интеренет банером в котором будет идти отсчет времени от заданой даты, например: отдельно будет указано сколько прошло лет, отдельно месяцев, дней, часов, минут и секунд.

Все эти вычисления будут проводится програмкой и отображать нужные цыфры обновляя их в реальном времени. Програма высчитывает отношение в секундах от текущей даты, до указаной. Осталось в нее ввести формулы для подсчета отдельно часов, минут, секунд, дней, годов и месяцев.
вот, посмотрите как у меня оно выглядит:

Припустим указаное время: 1960 г 10 месяц 11 число 13 часов 0 минут

Начинаю выводить формулы:

всего милисекунд = текущее время - указаное время; //милисекунды из-за того, что програма изначально считает в них.
секунды = всего секунд/1000; // для примера получается 673856895 секунд
минуты = секунды/60;
часы = минуты/60;
дни = rчасы/24;
годы = дни/365.25;

месяцы2 = (дни - годы*365.25)/30; // тут мы увидим месяцы в нормальном виде от 1 до 12
дни2 = дни - годы*365.25 - месяцы2*30; // дни в нормальном календарном виде.

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

часы2 = ? //тоесть эти часы2 должны представлять "n" часов от 0 до 24 (как на обычных часах)
минуты2 = ? // здесь, минуты как на обычных часах, - до 60
секунды2 = ? // и с секундами тоже так же.


Имею в виду, что мне нужно разделить секунды что получаются при подсчете (например те же 673856895) на отдельные годы, месяцы, дни, часы, минуты и секунды, представленые в понятной временной форме.

Может я написал довольно сложно, но если все же кто-то захочет мне помочь с решением даной задачи за "спасибо" буду очень признателен и обьясню задачу более подробно.

Спасибо за внимание.
С уважением Андрей.

Всего сообщений: Нет | Присоединился: Never | Отправлено: 19 апр. 2008 22:58 | IP
Roman Osipov



Долгожитель

Нужно ли учитывать "не идеальность времени", в том смысле, что в сутках не в точности 24 часа, а годе 365 (366) дней?

Всего сообщений: 2356 | Присоединился: май 2007 | Отправлено: 19 апр. 2008 23:11 | IP
bekas


Долгожитель

Какой дате соответствует 0 миллисекунд?
00:00:00.000 1 января 1970 года?
На каком языке надо написать эту функцию?

Вы ошибаетесь - на обычных часах время идет от от 00:00:00
до 23:59:59, а не до 24 часов (это же касается минут и секунд - они меняются от 0 до 59, а не до 60). Кроме того, високосный год не обязательно каждый четвертый.  Или вы считаете по среднему - независимо от того, с какого года началась дата?

-----
Из Северодонецка

Всего сообщений: 379 | Присоединился: январь 2006 | Отправлено: 19 апр. 2008 23:27 | IP
Guest



Новичок

Еще раз здраствуйте. Спасибо за ответ.

Да, отсчет идет от 1970 года. Пишется это дело на Action Script.

В правильности написании даных "формул" я не уверен, поэтому и обратился к Вам за помощью. Скажем так, у меня есть два варианта реализации даной задачи, один суто програмно используя функции програмы, но на практике было очень много ошибок (так званых багов) и нужно много вносить поправок, поэтому пока что от него решил отказатся.  Второй же способ, - математический.

Значит есть начальная дата и текущая дата, разница между ними подсчитывается програмно, без любых действий пользователя и выдается на экране в виде секунд. Из этих секунд я хотел уже извлечь по отдельности год, месяц, и т.д в плоть до секунд. Как видите "годы", "месяцы2" и "дни2" мне удалось извлечь, но дальше силенок не хватает.

Всего сообщений: Нет | Присоединился: Never | Отправлено: 20 апр. 2008 1:24 | IP
bekas


Долгожитель

Мне кажется в таком виде постановка задачи некорректна - вы можете однозначно печатать количество дней, часов, минут, секунд и миллисекунд - но никак не лет и месяцев.
Последние две характеристики зависят не только от расстояния между двуимя датами, но и от младшей даты.
Не зная,  какой месяц был перед этим, вы не можете сказать - 31 день: это один месяц или один месяц и еще один день.  Поэтому советую ограничиться самой старшей характеристикой печати - днями, а не месяцами и годами.

-----
Из Северодонецка

Всего сообщений: 379 | Присоединился: январь 2006 | Отправлено: 20 апр. 2008 16:52 | IP
Guest



Новичок

Доброго вечера!
К сожалению задача поставлена в расчете от годов до секунд. Спасибо за уделенное время, но данный вопрос решил програмированием без особой математики, надеюсь ошибок програмка не выдаст.

Всего хорошего Вам.
С уважением, Андрей.

Всего сообщений: Нет | Присоединился: Never | Отправлено: 21 апр. 2008 21:07 | IP

Отправка ответа:
Имя пользователя   Вы зарегистрировались?
Пароль   Забыли пароль?
Сообщение

Использование HTML запрещено

Использование IkonCode разрешено

Смайлики разрешены

Опции отправки

Добавить подпись?
Получать ответы по e-mail?
Разрешить смайлики в этом сообщении?
Просмотреть сообщение перед отправкой? Да   Нет
 

Переход к теме
<< Назад Вперед >>
Одна страница

Форум работает на скрипте © Ikonboard.com