程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C語言計算日期差的方法示例

C語言計算日期差的方法示例

編輯:關於C++

C語言計算日期差的方法示例。本站提示廣大學習愛好者:(C語言計算日期差的方法示例)文章只能為提供參考,不一定能成為您想要的結果。以下是C語言計算日期差的方法示例正文


C語言計算日期差的方法示例

作者:YY''s

這篇文章主要介紹了C語言計算日期差的方法,結合具體實例形式分析了C語言針對日期轉換、運算等相關操作技巧,需要的朋友可以參考下

本文實例講述了C語言計算日期差的方法。分享給大家供大家參考,具體如下:

歷史上,不同的人類聚居地可能有不同的歷法,因而記錄下來的資料中日期的換算就很麻煩。幸好今天我們統一使用公元紀年法。當然,這種歷法對求兩個日期差多少天也不是十分簡便,但畢竟是可以忍受的。

下面的程序計算了兩個日期的差值,兩個日期都使用公元紀年法。

#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:這裡再為大家推薦幾款關於日期與天數計算的在線工具供大家使用:

在線日期/天數計算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi

在線萬年歷日歷:
http://tools.jb51.net/bianmin/wannianli

在線陰歷/陽歷轉換工具:
http://tools.jb51.net/bianmin/yinli2yangli

希望本文所述對大家C語言程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved