Julian时间问题

因为移植程序原因,调试一个计算当前时间距1970年1月1号0时0分0秒的秒数函数;

被移植的程序搞得很复杂,首先将当前时间转换为Julian Day(凯撒日),1970年1月1号0时0分0秒也转换为Julian Day.然后相减的方法来算,但因为我发现linux 有一个系统API直接就这个功能,gettimeofday函数;

但我发现两者计算结果总是相差8个小时的时间(gettimeofday少),郁闷了我到现在晚上一点钟.

最后发现是因为时区的原因,我的时区是cst,而Julian Day计算都时以UTC时间时间为准,CST比UTC快了8个小时,

gettimeofday函数是会考虑时区问题的,它将cst的时间减少8个小时后,才计算;

而被移植的函数是没考虑时区问题的.

所以涉及到时间,一定要先想到时区!

你可能感兴趣的:(Julian时间问题)