【发布时间】:2021-12-25 11:08:27
【问题描述】:
我希望该函数返回一个字符串数组,其中每个日期表示为“13/11”或我可以从中提取日期和月份的任何其他格式。
也许它看起来像这样:
char** get_dates_from_year_and_week(int year, int week) {
//Magic happens
return arr
}
get_dates_from_year_and_week(2021, 45);
//Would return ["08/11", "09/11", 10/11", "11/11", "12/11", "13/11", "14/11"];
如何使用 c 来实现这一点?欢迎任何图书馆。
【问题讨论】:
-
使用日期和时间函数,例如
mktime、localtime和strftime。您可以仅使用年份字段从struct tm开始(请注意,它是年份减去 1900)。然后使用mktime转换为time_t。然后通过将一周中的秒数 (7 * 24 * 60 * 60) 乘以周数来估算周数。您使用localtime转换回struct tm。然后您可以使用strftime将日期设置为良好的格式。请注意,strftime有一个星期数选项,因此您可以检查您的计算是否正确。