| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Нахождение дня недели |
| Автор: politex 20.11.2004, 10:33 |
| Есть ли какой нибудь алгоритм нахождение дня недели зная дату dd.mm.yyyy ? Например если 20.11.2004 то ответ СУББОТА. |
| Автор: Alex 20.11.2004, 12:14 |
| В Delphi, это функция DayOfTheWeek из модуля DateUtils. |
| Автор: GePo 20.11.2004, 13:42 |
| politex конечно же есть. Самое простое, это взять какой-нибудь понедельник, подсчитать сколько от него прошло дней до данной даты и сделать c mod 7 + 1. В дельфе вроде так и работает |
| Автор: Akina 20.11.2004, 14:46 |
| politex Практически в любом языке есть функция форматирования вывода. И для форматов даты-времени там есть вывод дня недели. |
| Автор: III.nfo 21.11.2004, 10:19 | ||
В своё время я решил проблему так (lang C#):
|
| Автор: Peter 6.12.2004, 11:41 |
| Есть такая формула Зеллера. Поищи в интернете. |
| Автор: Albinos_x 8.12.2004, 20:06 |
| Смотри DRKB, там есть |
| Автор: neutrino 8.12.2004, 23:32 | ||
Вот простенькая программа, которая дает следующую дату. Можно отсчитать со дня, о котором известно какой он день недели. Считать надо по модулю 7.
|
| Автор: Elvis 11.12.2004, 21:26 |
| Хотите прикол? 2000 -- не високосный год был!!! формула год/4 _ПОЧТИ_ верная!!! В феврале 29 дней если год нацело делится на 4 и не делится на 400!!! 400, 800, 1200, 1600, 2000, 2400... годы НЕ високосные! P.S. кста, календарь виндовый говорит, что есть 29,02,2000. (((у мя ХР). Гляньте плз что в 98 |
| Автор: Alex 11.12.2004, 21:51 |
| Elvis, ты перегрелся http://www.web-master.ru/calendar2000/p1.gif |
| Автор: Alex 12.12.2004, 11:40 |
| Григорианский календарь. Вследствие того, что продолжительность юлианского года больше тропического на 11 мин 14 сек, то за 128 лет накапливалась ошибка в целые сутки. Поэтому к концу 16 в. весеннее равноденствие, которое в 325 н. э. приходилось на 21 марта, наступало уже 11 марта. Ошибка была исправлена в 1582, когда на основе буллы папы римского Григория XIII была произведена реформа юлианского К. Для его исправления счёт дней был передвинут на 10 сут вперёд, и день после четверга 4 октября предписывалось считать пятницей, но не 5, а 15 октября Так весеннее равноденствие вновь было возвращено на 21 марта. Чтобы избежать новой ошибки, было решено в каждые 400 лет выбрасывать из счёта 3 дня. Таким образом, вместо 100 високосных дней на каждые 400 лет в юлианском К. в новом К. их стало только 97. Из числа високосных были исключены те вековые годы (годы с двумя нулями на конце), число сотен которых не делится без остатка на 4. Такими годами, в частности, являлись: 1700, 1800 и 1900. Исправленный К. получил название григорианского К., или нового стиля (в отличие от юлианского, за которым укрепилось назв. «старый стиль»). Средняя длина года в нём превосходит продолжительность тропического всего на 26 сек, что приводит к ошибке в одни сутки лишь за 3280 лет. Разница между старым и новым стилями составляет: для 18 в. 11 сут, для 19 в. 12 сут и для 20 в. 13 сут. |
| Автор: podval 14.12.2004, 17:02 | ||
До кучи. В образовательных целях.
|