【发布时间】:2014-11-07 00:43:28
【问题描述】:
typedef struct dbdatetime
{ // Internal representation of DATETIME data type
LONG dtdays; // No of days since Jan-1-1900 (maybe negative)
ULONG dttime; // No. of 300 hundredths of a second since midnight
} DBDATETIME;
我正在尝试将此结构转换为今天的日期。我不怀疑时间会给我带来很多麻烦,但我在将总天数转换为正确的月份和日期的逻辑上遇到了问题。
例如。 11 月 7 日星期五是 41948 天。
您可以除以 365.2425+1900 来获得当前年份,但如何获得正确的月份/日期。
C 有内置的东西来处理这个吗?我不是专业的 C 程序员。
【问题讨论】:
-
您绝对不想手动执行此操作。正确处理非常棘手,并且有很多边缘情况。我不记得要调用的库函数,但这是你需要做的。
-
如果您想推出自己的代码 - 一项有趣的任务 - 假设今年在二月结束。 (它曾经在大约 2000 年前的 2 月结束。_Octo_ber 是第 8 个月,_Dece_mber 是第 10 个月。)然后闰日是在年底。建议从 2000 年 3 月 1 日起计算