gpt4 book ai didi

C++ : get week number from yyyyMMdd

转载 作者:行者123 更新时间:2023-12-01 22:34:40 38 4
gpt4 key购买 nike

我正在用 C++ 编写一个 impala udf,当在 yyyyMMdd 中提供日期时,它会获得一年中的第几周。但似乎找不到在 C++ 中将 yyyyMMdd 转换为一年中的一周的方法。在 Java 中,我可以使用日历,但如何在 C++ 中实现它。

TIA

最佳答案

你可以只使用std::mktime来自 <ctime> .示例:

std::tm date={};
date.tm_year=2014-1900;
date.tm_mon=9-1;
date.tm_mday=28;
std::mktime(&date);

调用后,date.tm_wday 被调整(0=星期日)。 date.tm_yday 也进行了调整。

要将周算到一年中,请使用:(date.tm_yday-date.tm_wday+7)/7

此计算对于第一个完整周返回 1(即一年中第一个星期日,包括以星期日开始的年份中的 1 月 1 日);第一个部分周中的天数为 0。

关于C++ : get week number from yyyyMMdd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26082193/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com