- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
date = j / 86400l;
t = j - (date * 86400l);
date += 731000ul;
y = (4 * date - 1) / 146097;
d = (4 * date - 1 - 146097 * y) / 4;
date = (4 * d + 3) / 1461;
d = (4 * d + 7 - 1461 * date) / 4;
m = (5 * d - 3) / 153;
d = (5 * d + 2 - 153 * m) / 5;
y = 100 * y + date;
if (m < 10) {
m += 3;
} else {
m -= 9;
y++;
}
в тред призывается 3.1415 и другие иррациональные числа
из этого следует что 731000 это дни. приблизительно 2001.4 года.
146097 похоже на количесто дней в 400х года.
остально, честно говоря, смысла отдает мало.
выдает 22.07.2046
http://ideone.com/bbe6kI
http://ideone.com/9NcPRv