当前位置: 首页 > 建站教程

如何用c语言求两个日期之间的天数

时间:2026-01-30 12:01:10

以下是一个简单的C程序,用于计算两个日期之间的天数:

#include <stdio.h>// 计算闰年的函数int leapYear(int year) {if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {return 1;} else {return 0;}}// 计算某年某月的天数int daysInMonth(int year, int month) {int days[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};if (leapYear(year) && month == 2) {return 29;} else {return days[month - 1];}}// 计算从公元1年1月1日到某年某月某日的天数int daysFromYear1(int year, int month, int day) {int days = 0;for (int y = 1; y < year; y++) {days += leapYear(y) ? 366 : 365;}for (int m = 1; m < month; m++) {days += daysInMonth(year, m);}days += day - 1;return days;}// 计算两个日期之间的天数int daysBetweenDates(int year1, int month1, int day1, int year2, int month2, int day2) {int days1 = daysFromYear1(year1, month1, day1);int days2 = daysFromYear1(year2, month2, day2);return days2 - days1;}int main() {int year1, month1, day1, year2, month2, day2;printf("请输入第一个日期(年 月 日):");scanf("%d %d %d", &year1, &month1, &day1);printf("请输入第二个日期(年 月 日):");scanf("%d %d %d", &year2, &month2, &day2);int days = daysBetweenDates(year1, month1, day1, year2, month2, day2);printf("两个日期之间的天数为:%d\n", days);return 0;}

这个程序首先通过leapYear函数计算是否为闰年,然后通过daysInMonth函数计算某年某月的天数,接着通过daysFromYear1函数计算从公元1年1月1日到某年某月某日的天数,最后通过daysBetweenDates函数计算两个日期之间的天数。


上一篇:c#中怎么用nmodbus读取字符串
下一篇:python中format语句的作用是什么
c语言
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素