Високосный год

Обсуждение программ nnCron и nnCron LITE

Високосный год

Postby Morituruz » Wed, 29 Feb 2012, 09:20

Code: Select all
2012 3 1 YMD>DATE 2012 2 25 YMD>DATE DATE- .
4  Ok

Должно быть 5 :(

Code: Select all
2011 3 1 YMD>DATE 2011 2 25 YMD>DATE DATE- .
4  Ok
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: Високосный год

Postby AlikasS » Mon, 11 Mar 2013, 07:42

Moriturus wrote:
Code: Select all
2012 3 1 YMD>DATE 2012 2 25 YMD>DATE DATE- .
4  Ok

Должно быть 5 :(

Code: Select all
2011 3 1 YMD>DATE 2011 2 25 YMD>DATE DATE- .
4  Ok
видимо где-то в DAYS ошибка.
как вариант перейти на юлианские даты в расчете
Code: Select all
0 VALUE ~mess 0 VALUE ~year  0 VALUE ~Day

: arr 14 ~mess - 12 / ;
: yrr ~year 4800 + arr - ;
: mrr ~mess 12 arr * + 3 - ;

: JD ~Day 153 mrr * 2 + 5 / +  365 yrr * + yrr 4 / + yrr 100 / - yrr 400 / + 32045 - ;
: JDAYS ( y m d -- days)
\ Количество дней от начала летоисчисления по юлианскому календарю
TO ~Day TO ~mess TO ~year JD
;
: JDATE- ( u1 u2 -- )
    SWAP DATE>YMD JDAYS SWAP
    DATE>YMD JDAYS -
;
проверяем
Code: Select all
2012 3 1 YMD>DATE 2012 2 25 YMD>DATE DATE- . \ вычисление через григорианский календарь
4  Ok
2012 3 1 YMD>DATE 2012 2 25 YMD>DATE JDATE- . \ вычисление через юлианский календарь
5  Ok
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 3 guests

cron