计算当前日期距离下个生日还有多少天(希望能够有点解释因为刚入门谢谢)
3条回答 默认 最新
- 爱晚乏客游 2021-06-20 02:01关注
你可以看下c++的<time.h>这个头文件,里面的struct tm和time_t是专门用来计算时间的,也就是时间戳,这个时间起点是1900年1,月1日0时0分0秒,单位是秒。你可以先把目前的时间转成时间戳,然后把下一次也转成时间戳,然后两次时间相减得到秒数,秒数除以26*60*60就可以得到天数了,用这个可以不用考虑闰年的影响
#include <iostream> #include<time.h> using namespace std; int standard_to_stamp(char *str_time) { struct tm stm; int iY, iM, iD, iH, iMin, iS; memset(&stm, 0, sizeof(stm)); iY = atoi(str_time); iM = atoi(str_time + 5); iD = atoi(str_time + 8); iH = atoi(str_time + 11); iMin = atoi(str_time + 14); iS = atoi(str_time + 17); stm.tm_year = iY - 1900; stm.tm_mon = iM - 1; stm.tm_mday = iD; stm.tm_hour = iH; stm.tm_min = iMin; stm.tm_sec = iS; return (int)mktime(&stm); } int main() { time_t now_time = time(NULL); struct tm t_tm; localtime_s(&t_tm,&now_time); int start_time= (int)mktime(&t_tm); int end_time = standard_to_stamp("2022-06-20 0:0:0"); int days = (end_time - start_time) / 24.0 / 60 / 60; cout << "距离下次还有"<<days << "天"<<endl; system("pause"); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用 1
悬赏问题
- ¥20 机器学习能否像多层线性模型一样处理嵌套数据
- ¥20 西门子S7-Graph,S7-300,梯形图
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!
- ¥15 永磁直线电机的电流环pi调不出来
- ¥15 用stata实现聚类的代码
- ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效