C語(yǔ)言計(jì)算日期差的方法示例
本文實(shí)例講述了C語(yǔ)言計(jì)算日期差的方法。分享給大家供大家參考,具體如下:
歷史上,不同的人類(lèi)聚居地可能有不同的歷法,因而記錄下來(lái)的資料中日期的換算就很麻煩。幸好今天我們統(tǒng)一使用公元紀(jì)年法。當(dāng)然,這種歷法對(duì)求兩個(gè)日期差多少天也不是十分簡(jiǎn)便,但畢竟是可以忍受的。
下面的程序計(jì)算了兩個(gè)日期的差值,兩個(gè)日期都使用公元紀(jì)年法。
#include <bits/stdc++.h>
using namespace std;
int to_day(int y, int m, int d)
{
int mon[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int day = 0;
int i;
for(i=1; i<y; i++){
day += (i%4==0 && i%100!=0 || i%400==0)? 366 : 365;
}
if(y%4==0 && y%100!=0 || y%400==0) mon[2]++;
for(i=1; i<m; i++){
day += mon[i];
}
return day + d;
}
int diff(int y1, int m1, int d1, int y2, int m2, int d2)
{
int a = to_day(y1, m1, d1);
int b = to_day(y2, m2, d2);
return b-a;
}
int main(
{
//int n = diff(1864,12,31,1865,1,1);
int n = diff(1864,12,31,2012,3,18);
printf("%d\n", n);
return 0;
}
int n = diff(1864,12,31,2012,3,18);// 輸出 53768
PS:這里再為大家推薦幾款關(guān)于日期與天數(shù)計(jì)算的在線工具供大家使用:
在線日期/天數(shù)計(jì)算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在線萬(wàn)年歷日歷:
http://tools.jb51.net/bianmin/wannianli
在線陰歷/陽(yáng)歷轉(zhuǎn)換工具:
http://tools.jb51.net/bianmin/yinli2yangli
希望本文所述對(duì)大家C語(yǔ)言程序設(shè)計(jì)有所幫助。
相關(guān)文章
關(guān)于C++的強(qiáng)制類(lèi)型轉(zhuǎn)換淺析
C++的強(qiáng)制類(lèi)型轉(zhuǎn)換是我們?cè)谌粘i_(kāi)發(fā)中經(jīng)常會(huì)遇到的,下面這篇文章主要給大家介紹了關(guān)于C++強(qiáng)制類(lèi)型轉(zhuǎn)換的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09
C++構(gòu)造函數(shù)+復(fù)制構(gòu)造函數(shù)+重載等號(hào)運(yùn)算符調(diào)用
這篇文章主要介紹了C++構(gòu)造函數(shù)+復(fù)制構(gòu)造函數(shù)+重載等號(hào)運(yùn)算符調(diào)用,文章敘述詳細(xì),具有一定的的參考價(jià)值,需要的小伙伴可以參考一下2022-03-03
解析sizeof, strlen, 指針以及數(shù)組作為函數(shù)參數(shù)的應(yīng)用
本篇文章是對(duì)sizeof, strlen, 指針以及數(shù)組作為函數(shù)參數(shù)的應(yīng)用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
詳解在C++中顯式默認(rèn)設(shè)置的函數(shù)和已刪除的函數(shù)的方法
這篇文章主要介紹了在C++中顯式默認(rèn)設(shè)置的函數(shù)和已刪除的函數(shù)的方法,文中講到了C++11標(biāo)準(zhǔn)中的新特性,需要的朋友可以參考下2016-01-01
C語(yǔ)言中對(duì)字母進(jìn)行大小寫(xiě)轉(zhuǎn)換的簡(jiǎn)單方法
這篇文章主要介紹了C語(yǔ)言中對(duì)字母進(jìn)行大小寫(xiě)轉(zhuǎn)換的簡(jiǎn)單方法,是C語(yǔ)言入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-08-08
C++中使用function和bind綁定類(lèi)成員函數(shù)的方法詳解
這篇文章主要介紹了C++中使用function和bind綁定類(lèi)成員函數(shù)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11

