Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Aleksey Tarasow                      2:5053/51.4    01 Oct 2002  18:31:18
 To : All
 Subject : Юлианскаю дата.
 -------------------------------------------------------------------------------- 
 
 
 Тут как-то я задал вопрос как можно найти разницу между двумя датами, и день
 недели по дате. Пришло ряд ответов. Особенно спасибо Сергею Бычкову (надеюсь
 правильно прочитал :) на основе присланых им исходников я получил следующее.
 (см. в конце). Hо считает не правильно, вернее наполовину правильно. Проверял их
 для 2001 года и выяснил что для мая, июля, октября, декабря и марта 2002
 юлианкая дата считается на 1 больше чем нужно. Для следующих месяцев все
 исправляется. Скорее всего это происходит из-за того что перед ними стоят месяца
 по 30 дней. Кто нибудь может помочь решить эту проблему?
 
 ===  ачало data.lib ===
 {Библиотека работы с датами}
 
 function jd(day,mon,year:integer):integer;
   {Функция расчета юлианской даты, переработаной.
    Так же смотри ZX-РЕВЮ 1993 год страница 203,
    и файл jd.txt
    Hа входе: day  - число
              mon  - месяц
              year - год}
   const
     yearoffs=2000;
   var
     deyoffs:integer;
   begin
     if mon<3 then begin
        year:=year-1;
        mon:=mon+12;
     end; {if}
     deyoffs:=trunc(yearoffs/4-yearoffs/100+yearoffs/400);
     jd:=trunc(365*(year-yearoffs)+year/4-year/100+
         year/400+31*mon-((2*mon-4)/5)+day-deyoffs);
   end; {jd}
 
 function dayofweek(jd:integer):integer;
   {Функция определений дня недели по юлианской дате.
   Подробнее смотри ZX-РЕВЮ 1993 страница 203.
   Hа входе: jd - юлианская дата.
   Hа выходе: 0 - воскресенье
             ...- .....
              6 - суббота}
     var
       d:integer;
     begin
       d:=(jd+1) mod 7;
       if d<0 then dayofweek:=d+7
         else dayofweek:=d;
     end; {dayofweek}
 === Конец data.lib ===
 
 С уважением, Алексей.
 
 --- ifmail v.2.15
  * Origin: Сила - последний аргумент тупиц. (2:5053/51.4)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Юлианскаю дата.   Aleksey Tarasow   01 Oct 2002 18:31:18 
 Re: Юлианскаю дата.   Sergey Bychkov   02 Oct 2002 12:46:03 
 Re: Юлианскаю дата.   Andrew Ezhguroff   02 Oct 2002 19:14:43 
 Re: Юлианскаю дата.   Sergey Bychkov   02 Oct 2002 20:14:37 
 Юлианскаю дата.   Nickolas Hirgij   03 Oct 2002 16:37:53 
 Юлианскаю дата.   Stanislav Shwartsman   04 Oct 2002 08:15:10 
 Юлианскаю дата.   Alexey Krasnov   05 Oct 2002 19:23:16 
 Re: Юлианскаю дата.   Sergey Bychkov   04 Oct 2002 11:33:45 
Архивное /ru.algorithms/146773d99fa7d.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional