调整儒略日的天数与星期几

时间:2019-05-23 20:47:24

标签: date time dayofweek julian-date

我正在使用一个将日期存储为儒略日数字的时间系统。问题在于,由于儒略日是从中午开始的,因此每个公历日都与两个不同的儒略日相关联。

例如,假设用户位于纽约,它是UTC-5,则意味着早上7点之前的任何时间是儒略日,而早上7点之后的任何时间是第二个儒略日。

所以,我想这意味着如果我想知道星期几,那么我必须考虑时间。换句话说,当前我的星期几功能是这样的:

unsigned int dow = iJulianDayNumber % 7;

其中星期一为零。但是,我在解决问题时遇到了一些问题,因此我认为我也需要考虑时间,例如:

unsigned int getDayOfWeek( unsigned int iJulianDayNumber, unsigned int iHour_UTC ){
    return ( iJulianDayNumber - ( iHour_UTC < 12 ? 1 : 0 )) % 7;
}

这正确吗?

0 个答案:

没有答案