C ++和Windows:SYSTEMTIME总是基于公历日历吗?

我有一个SYSTEMTIME结构。 此结构可能包含UTC时间或从某个Windows API函数返回的本地时间。

在C ++中,我正在计算基于一个函数返回的SYSTEMTIME的一年中的一天。 换句话说,自1月1日以来有多less天。为了做到这一点,我需要留意闰年的多余日子,2月29日。如果我知道SYSTEMTIME总是基于公历日历,那么这很容易。

如果在国外的用户使用其他日历系统,我不会计算一年中的某一天吗? 我似乎无法在我的机器上testing这个理论,我甚至不知道它是否合理。 任何Microsoft专家,可以帮助我在这里?

也许更好的问题是,有一个Windows API函数,基于SYSTEMTIME计算一年中的哪一天? 我找不到一个。

我能find的最接近的东西就是这个javascript问题 ,这很有趣,但是我觉得和我所问的很不一样。 明天(星期一)我不会看到这个问题的答复,所以如果有任何后续问题,我会回答。

谢谢!

编辑:我发现这篇文章,但它仍然不回答这个问题:
操作系统级别支持非公历日历? – sorting全部了 – 网站首页 – MSDN博客

在MSDN上查看SYSTEMTIME时,它说:

检索当前的系统日期和时间。 系统时间以协调世界时(UTC)表示。

看来,无论如何,SYSTEMTIME在公历中工作。

祝你好运,我希望我能帮上忙。