[C/C++]_[中级]_[获取月份的最后一天]
Posted infoworld
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[C/C++]_[中级]_[获取月份的最后一天]相关的知识,希望对你有一定的参考价值。
场景
C/C++
的新版日期类型并不能获取日期的具体数值。C++20
的std::chrono::month_day_last
可以获取某月的最后一天,但是返回的类型是month_day_last
类型,这个类型无法获取天数,只能获取月份。 所以C/C++
如何获取某年月份的最后一天?
说明
-
C++20
之前,获取年月日的数值还是得借助<time.h>
库,通过转换为time_t
类型之后再转换为struct tm
类型获取数值,功能比较弱。所以这里只需要C
库的<time.h>
即可实现。 -
实际上月份的最后一天可能是
28,29,30,31
,它是与年份有关的,所以决定它的日期还是得通过获取系统计算出来的实际值。方法就是通过获取下一个月份的1
号的日期,之后再减去固定的每日24
小时即可获取前一天的日期,也就是当前月的最后一天。 -
我们知道
time_t
的时间单位是秒,而一天总共有60*60*24 = 86400
秒。
例子
std::pair
以上是关于[C/C++]_[中级]_[获取月份的最后一天]的主要内容,如果未能解决你的问题,请参考以下文章
[C/C++]_[中级]_[static_cast的详细解析]
[C/C++]_[中级]_[static_cast的详细解析]