|
Определение промежутка времени |
|
|
|
May 4 2013, 17:07
|
Гуру
     
Группа: Свой
Сообщений: 2 884
Регистрация: 7-11-09
Из: Ростовская обл.
Пользователь №: 53 484

|
Помнится, вопрос расчета времени по календарю не такой и простой как в приведенных формулах, помнится даже CTime от микрософт не всегда качественно справлялся с этой задачей. Если вопрос принципиален могу покапаться в архивах и привести парочку вариантов возникновения ошибки в реальных приложениях где производится расчет промежутка времени. вот например Код CDate::CDate(const SYSTEMTIME &st) { /* Так как бывает летнее и зимнее время, возьмем за базу полдень. Что бы перевод времени не влиял на дату. То есть, если за базу берется полночь переход на летнее время после зимнего может произвести при вычислении BackDay() пропуск целой даты. */ CTime t( st.wYear, st.wMonth, st.wDay, 12, 0, 0 );
m_time = t; }
|
|
|
|
|
May 6 2013, 05:08
|
Гуру
     
Группа: Свой
Сообщений: 2 884
Регистрация: 7-11-09
Из: Ростовская обл.
Пользователь №: 53 484

|
Рас читывать количество месяцев за промежуток времени по секундам, достаточно сомнительное занятие. Учитывать только секунды при расчете даты, это прямолинейное ориентирование только на один ориентир Солнце. Ошибка в расчете количества месяцев присутствует постоянно. Кста есть значимые свидетельства ошибок таких расчетов, например католическая Пасха рассчитывается по григорианскому солнечному календарю (учитывается только солнечный год, календарь прямолинейный, как по секундам), католики часто нарушают правило праздновать Пасху в первое воскресенье после наступления полнолуния, которое выпадает на период после весеннего равноденствия. После празднования иудейской Пасхи, если случается совпадение, то правила предписывают перейти к полнолунию следующего месяца. В настоящее время католическая пасха часто празднуется раньше иудейской, что строго запрещается церковными канонами.
|
|
|
|
|
May 6 2013, 09:31
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата(Слесарь @ May 4 2013, 21:31)  Время ведь понятие человеческое, людям свойственно менять отношение к собственным понятиям. Все просто: приведенные формулы годятся для существующего сейчас календаря. Когда календарь поменяют, тогда поменяем и формулы. Привязываться к астрономической точности в рамках решаемой задачи явный перебор. Эдак можно задачу и не решить... ведь в сутках не ровно 24 часа... да и вращается Земля вокруг собственной оси с небольшим снижением оборотов... А если два события происходят в разных точках пространства... или по разные стороны "линии перемены дат"... Условностей много, и это еще без привлечения религий))
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|