计算年月日函数

原创 2016年04月05日 14:19:09

一:判断是否为闰年

bool isUnNormalYear(const long long year)
{
    if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
        return true;
    else
        return false;
}

二:判断某年某月某日为星期几

int CaculateWeekDay(long long y, long long m, long long d)
{
    if (m == 1 || m == 2) {
        m += 12;
        y--;
    }
    int iWeek = static_cast<int>((d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7);

    switch (iWeek)
    {
        case 0: printf("星期一\n"); break;
        case 1: printf("星期二\n"); break;
        case 2: printf("星期三\n"); break;
        case 3: printf("星期四\n"); break;
        case 4: printf("星期五\n"); break;
        case 5: printf("星期六\n"); break;
        case 6: printf("星期日\n"); break;
    }
    return iWeek + 1;
}

三:计算A(年月日)到B(年月日)之间相差天数

long long day_distance(long long year1, long long month1, long long day1,
                         long long year2, long long month2, long long day2)
{
    long long nd, nm, ny;       //new_day, new_month, new_year  
    long long od, om, oy;       //old_day, oldmonth, old_year  

    nm = (month2 + 9) % 12;
    ny = year2 - nm / 10;
    nd = 365 * ny + ny / 4 - ny / 100 + ny / 400 + (nm * 306 + 5) / 10 + (day2 - 1);

    om = (month1 + 9) % 12;
    oy = year1 - om / 10;
    od = 365 * oy + oy / 4 - oy / 100 + oy / 400 + (om * 306 + 5) / 10 + (day1 - 1);

    return od - nd;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

C++实现通过年份与天数判断月份日期

近期为了准备CCF认证考试,自己随便练习遇到的一道经典题,所以写下来,自己的思路想法。 先把题目列出来 给定一个年份y和一个整数d,问这一年的第d天是几月几日? 注意闰年的2月有29天。满足下面...
  • wangfanna
  • wangfanna
  • 2016年09月02日 16:29
  • 598

根据年月日计算星期几的函数

大部分日期计算正常, 2014-04-01 (星期2)计算出来的星期不正确。 原因:计算出来的 w可能出现负值, 求负数的余数需要特殊处理,需要按数论的计算方式求余数。网上很多代码存在此问题,少数日...
  • minyuanxiani
  • minyuanxiani
  • 2014年04月03日 18:50
  • 1446

java时间差得到年月日

package action; import java.util.Calendar; import java.util.Date; import util.Util; /**  *  * Test01...
  • u012303775
  • u012303775
  • 2016年04月28日 09:55
  • 1367

js求两个日期时间差。精确到年月日到秒

function bb() {             var a = new Date(2013, 10, 28,00,00,00);             var b = new Date(...
  • u011955559
  • u011955559
  • 2013年11月28日 14:53
  • 2216

sql年月日计算方法

        通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部 分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、...
  • appoFeng
  • appoFeng
  • 2007年12月12日 08:58
  • 469

Sql年月日计算方法

通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函...
  • 21aspnet
  • 21aspnet
  • 2007年03月19日 19:43
  • 3332

给出年、月、日,计算该日是该年的第几天

#include int main() { int sum_day(int month,int day); int leap(int year); int year; int month; ...
  • ZDF0414
  • ZDF0414
  • 2015年03月20日 14:07
  • 901

输入年月日时分秒,计算下一秒的年月日时分秒

1.名称:时光飞逝 2.描述:输入年月日时分秒,计算下一秒的年月日时分秒 3.分析: 1.定义六个全局变量 2.输入时间 3.计算下一秒 3.1 second加一秒 3.2 计算...
  • xiang1431
  • xiang1431
  • 2015年04月11日 12:35
  • 536

年月日计算

最近在做一个类似ios的日期 pickerView 看到一个别人的demo其实, 计算对应的年月日很简单 /** * @param year * @param m...
  • u013768203
  • u013768203
  • 2016年04月16日 08:40
  • 269

[Java] 计算两个日期之间的差(年 月 日)

在项目中有这样的需求:   需要显示剩余的年月日。如下表: 起始时间                截至期                     有效期                2...
  • lihe2008125
  • lihe2008125
  • 2011年08月31日 10:33
  • 1292
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:计算年月日函数
举报原因:
原因补充:

(最多只允许输入30个字)