Entry tags:
Интересный способ хранения даты
To find Y, M, D from MJD
Y' = int [ (MJD - 15 078,2) / 365,25 ]
M' = int { [ MJD - 14 956,1 - int (Y' × 365,25) ] / 30,6001 }
D = MJD - 14 956 - int (Y' × 365,25) - int (M' × 30,6001 )
If M' = 14 or M' = 15, then K = 1; else K = 0
Y = Y' + K
M = M' - 1 - K × 12
И после всего этого оказывается, что годы считаются от 1900.
Да, а время к этой дате хранится в дополнительных трёх байтах. В BCD.
Вопрос: что курили разработчики стандарта EN 300 468?
Y' = int [ (MJD - 15 078,2) / 365,25 ]
M' = int { [ MJD - 14 956,1 - int (Y' × 365,25) ] / 30,6001 }
D = MJD - 14 956 - int (Y' × 365,25) - int (M' × 30,6001 )
If M' = 14 or M' = 15, then K = 1; else K = 0
Y = Y' + K
M = M' - 1 - K × 12
И после всего этого оказывается, что годы считаются от 1900.
Да, а время к этой дате хранится в дополнительных трёх байтах. В BCD.
Вопрос: что курили разработчики стандарта EN 300 468?