精华内容
下载资源
问答
  • 日期计算

    千次阅读 2012-01-30 22:30:04
    1096: 日期差值 【题目描述】有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天 ...很简单的一道题目,思路很简单,计算两个日期分别到1年1月1日间隔的天数,然后相减加一即可

    1096: 日期差值

    【题目描述】有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天

    【输入】有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD

    【输出】每组数据输出一行,即日期差值

    【样例输入】20110412 20110422

    【样例输出】11

    很简单的一道题目,思路很简单,计算两个日期分别到1年1月1日间隔的天数,然后相减加一即可。计算到00010101的间隔天数包含了如下日期计算常见的一些内容。


    闰年判断 表达式

    根据格里历:平年365日,闰年366日;但四年之闰余,仅23时15分4秒,闰一日,未免过多,超过之44分56秒,积至二十五闰,为17时58分24秒,约合一日之3/4,故每满百年废一闰,至第400年又不废。

    判断闰年的表达式如下(C语言版)

    !(y%400)||(!(y%4)&&y%100))
    y%4?0:(y%100?1:(y%400?0:1))

    计算距公元1年1月1日天数

    首先使用数组索引前几个月天数,并加上当月天数,如果是月份大于3且闰年(注意判断顺序,利用||的短路)则加上1天,然后加上之前年份的总天数,这里利用表达式r+=--y*365+y/4-y/100+y/400; 来计算。

    int R[]={0,31,59,90,120,151,181,212,243,273,304,334};
    int calc(int y){
    	int m=y%10000/100;
    	int r=R[m-1]+y%100;
    	y/=10000;
    	r+=(m>2&&(!(y%400)||(!(y%4)&&y%100)))?1:0;
    	r+=--y*365+y/4-y/100+y/400;
    	return r;
    }


    原题程序代码如下:

    #include<stdio.h>
    int R[]={0,31,59,90,120,151,181,212,243,273,304,334};
    int calc(int y){
    	int m=y%10000/100;
    	int r=R[m-1]+y%100;
    	y/=10000;
    	r+=(m>2&&(!(y%400)||(!(y%4)&&y%100)))?1:0;
    	return r+--y*365+y/4-y/100+y/400;
    }
    int main(){
    	int x,y;
    	while(scanf("%d%d",&x,&y)!=EOF)printf("%d\n",calc(y)-calc(x)+1);
    }

    展开全文
  • Java日期计算

    千次阅读 2019-04-15 14:30:00
    Java日期计算,推荐使用Calendar进行日期加减, 代码示例: public static String calFullDate(Date date, int yearNum, int monthNum, int dateNum,int hourNum) { String result = ""; try { SimpleDate...

    Java日期计算,推荐使用Calendar进行日期加减,

    代码示例:

    public static String calFullDate(Date date, int yearNum, int monthNum, int dateNum,int hourNum) {
            String result = "";
            try {
                SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                Calendar cal = Calendar.getInstance();
                cal.setTime(date);
                cal.add(Calendar.MONTH, monthNum);
                cal.add(Calendar.YEAR, yearNum);
                cal.add(Calendar.DATE, dateNum);
                cal.add(Calendar.HOUR, hourNum);
                result = sd.format(cal.getTime());
            } catch (Exception e) {
                log.error(e.getMessage(), e);
            }
            return result;
        }

    根据传入的年、月、日、小时,进行日期处理。

    不推荐方式:

    Date d = new Date();   
    SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String dateNew = df.format(new Date(d.getTime() - num * 24 * 60 * 60 * 1000));  
    Date date = df.parse(dateNew);

    用该方式进行日期计算,当num过大时,会导致执行出来的日期不准确,示例:

    原意为获取90天前的日期时间,但是计算出来的日期为10日后,当程序继续拿结果日期进行处理,降获取到不准确的数据。

    如果计算的日期时间较短,该方法计算值无问题,示例:

    计算出15日前的时间,获取到正常值

    展开全文
  • java日期计算

    万次阅读 2016-06-02 12:23:26
    常用的日期计算方法

    计算两个日期相差的时间,并使用xx年xx月xx日表示:

    /**
    		 * 使用Java的日历类来进行计算
    		 */
    		String strDate1 = "2014-06-14";
    		String strDate2 = "2016-07-01";
    		
    		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    		Date date1 = format.parse(strDate1);
    		Date date2 = format.parse(strDate2);
    		
    		//比较日期,date2比date1要大
    		if(date1.compareTo(date2)<0){
    			
    			Calendar calendarDate1 = Calendar.getInstance();
    			calendarDate1.setTime(date1);
    			
    			int yearDate1 = calendarDate1.get(Calendar.YEAR);
    			int monthDate1 = calendarDate1.get(Calendar.MONTH);
    			int dayDate1 = calendarDate1.get(Calendar.DAY_OF_MONTH);
    			System.out.println("date1Year:"+yearDate1+",date1Month:"+monthDate1+",date1Day:"+dayDate1);
    			
    			
    			Calendar calendarDate2 = Calendar.getInstance();
    			calendarDate2.setTime(date2);
    			
    			int yearDate2 = calendarDate2.get(Calendar.YEAR);
    			int monthDate2 = calendarDate2.get(Calendar.MONTH);
    			int dayDate2 = calendarDate2.get(Calendar.DAY_OF_MONTH);
    			System.out.println("date1Year:"+yearDate2+",date1Month:"+monthDate2+",date1Day:"+dayDate2);
    			
    			int distanceYear = 0; //因为年的时候如果是同一年的话返回1
    			int distanceMonth = 0;
    			
    			calendarDate2.add(Calendar.DAY_OF_MONTH,-dayDate1);
    			
    			int distanceDay = calendarDate2.get(Calendar.DAY_OF_MONTH);
    			
    			if(calendarDate2.get(Calendar.MONTH)>monthDate1){
    				//因为如果日单位超过30天的话会减少一个月,如果减的月大于该日期的最大月时,则会出现月在减一个月
    				calendarDate2.add(Calendar.MONTH,-monthDate1);
    				distanceMonth = calendarDate2.get(Calendar.MONTH);
    			}else{
    				distanceMonth = 0;
    			}
    			
    			if(calendarDate2.get(Calendar.YEAR)>yearDate1){
    				//如果月超过12月的话,年也会多减1
    				calendarDate2.add(Calendar.YEAR,-yearDate1);
    				distanceYear = calendarDate2.get(Calendar.YEAR);
    			}else{
    				distanceYear = 0;
    			}
    			
    			System.out.println(strDate1+"与"+strDate2+"相差:"+distanceYear+"年,"+distanceMonth+"月,"+distanceDay+"日");


    计算两个日期相差多少天多少小时多少分:

                  String strDate1 = "2016-06-01 10:02:00";
    		String strDate2 = "2016-06-02 10:00:00";
    		
    		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    		Date date1 = format.parse(strDate1);
    		Date date2 = format.parse(strDate2);
    		
    		long diff = date2.getTime()-date1.getTime();
    		
    		long days = diff / (1000 * 60 * 60 * 24);
    		
    		long hours = (diff - days * (1000 * 60 * 60 * 24)) / (1000 * 60 * 60);
    
    		long minutes = (diff - days * (1000 * 60 * 60 * 24) - hours * (1000 * 60 * 60))
    				/ (1000 * 60);
    		
    		System.out.println(strDate1+"与"+strDate2+"相差:"+days+"天,"+hours+"小时,"+minutes+"分钟");


    展开全文
  • Python日期计算

    千次阅读 2019-09-11 14:36:24
    Python日期计算 # -*- coding: UTF-8 -*- """ 简述:要求输入某年某月某日 提问:求判断输入日期是当年中的第几天? Python解题思路分析: 我们就以3月5日这一天为例。首先把前两个月的加起来,然后再加上5天即本年...

    Python日期计算

    # -*- coding: UTF-8 -*-
    """
    简述:要求输入某年某月某日
    提问:求判断输入日期是当年中的第几天?
    
    Python解题思路分析:
    我们就以3月5日这一天为例。首先把前两个月的加起来,然后再加上5天即本年的第几天。
    这里有一种特殊的情况,就是闰月,遇到这种情况且输入月份大于2时需考虑多加一天
    """
    year = int(input('请输入年份:\\n'))
    month = int(input('请输入月份(1-12):\\n'))
    day = int(input('请输入日期:\\n'))
    
    months = (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334)    # 定义list,每个月份事本年的天数
    if 0 < month <= 12:
        sum = months[month - 1]     # 通过下标获取月份的天数
        sum += day      # 用月份获取出来的天数加上日
    
        leap = 0    # 定义变量用于判断闰年
    
        if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):    # 满足其中两个条件,则本年未闰年
            leap = 1
        if (leap == 1) and (month > 2):     # 若为闰年,且月份必须大于2月
            sum += 1
        print('这是本年中的第%s天.' % sum)
    else:
        print('月份输入错误')
    

    运行结果:

    请输入年份:
    18
    请输入月份(1-12):
    11
    请输入日期:
    23
    这是本年中的第327天.
    
    展开全文
  • uniapp 日期计算年龄

    千次阅读 2020-10-19 15:39:54
    uniapp根据日期计算年龄 话不多说,上代码(#.#) // 根据日期计算年龄 getAge(strBirthday) { //strBirthday传入格式 2020-04-15 var returnAge; var strBirthdayArr = strBirthday.split('-'); var ...
  • python根据出生日期计算年龄的代码,运行后会提醒用户输出出生的年月日,然后输出年龄,可以改写为一个通用函数from time import *#a function to find your agedef age():print "Enter Your Date of Birth"d=input...
  • CCF 日期计算

    千次阅读 2016-04-07 12:34:17
    日期计算 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述  给定一个年份y和一个整数d,问这一年的第d天是几月几日?  注意闰年的2月有29天。满足下面条件之一的是闰年...
  • 蓝桥杯 日期计算

    千次阅读 2016-01-22 23:27:44
    算法提高 日期计算 时间限制:1.0s 内存限制:256.0MB   问题描述  已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况。尤其是逢百年不闰,逢400年闰的情况。 输入...
  • SQL Server 根据出生日期计算年龄

    千次阅读 2019-10-07 10:58:55
    实例1:根据出生日期计算年龄 实例2:根据日期计算距现在的天数
  • Java date 日期计算

    千次阅读 2018-08-15 10:05:00
    Java date 日期计算 1 import org.junit.Test; 2 import java.util.Calendar; 3 import java.util.Date; 4 5 /** 6 * @author cosmo 7 * @Title: JunitDateTest 8 * @ProjectN...
  • 本文分两部分,第一部分为Mysql 参考手册列举的日期、时间函数说明...第二部分为根据项目实践谈谈常用的Mysql日期、时间函数使用案例,如:查询条件开始--截止日期,根据出生日期计算年龄,根据当前时间戳自动更新等。
  • Oracle 通过出生日期计算年龄

    千次阅读 2018-11-15 08:33:00
    Oracle 通过出生日期计算年龄
  • Java 根据日期计算星期几
  • java日期计算工具类【包含常用的日期计算方法】 package com.test; import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util....
  • python中的日期计算

    千次阅读 2017-02-15 01:21:07
    用Python可以非常简单的解决这个关于日期计算的问题。 用Python计算昨天和明天的日期: >>> import datetime #导入日期时间模块 >>> today = datetime.date.today() #获得今天的日期 >>> print today #输出今天日期...
  • nyoj、日期计算

    2016-11-02 09:55:42
    日期计算 时间限制:3000 ms | 内存限制:65535 KB 难度:1 描述如题,输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天。 输入第一行输入一个数N(0 输出每组输入数据的...
  • 【CCF】日期计算

    千次阅读 2019-09-08 13:04:38
    日期计算 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述  给定一个年份y和一个整数d,问这一年的第d天是几月几日?  注意闰年的2月有29天。满足下面条件之一的是闰年: ...
  • 根据出生日期计算年龄

    千次阅读 2015-08-06 08:53:55
    根据出生日期计算年龄
  • C# 根据日期计算日期周数

    千次阅读 2013-07-19 15:33:09
    当我们知道一个日期后,有的时候想知道当前日期是当年的第几周(如我们做周报计划什么的就可能遇到),一周的第一天是周几有两种说法,有的是... /// 根据日期计算日期周数(以周日为一周的第一天)  ///  /// 日
  • 手工日期计算

    万次阅读 多人点赞 2019-07-30 10:13:16
    计算两个日期差几天 先计算每个日期到公元元年的天数 再计算差值 思想推广 a - b = (a - 基准) - (b - 基准) 10000 数(三声)到 20000 间 数字1一共出现多少次? 一个数组中求装有整数(正负都有),求最大连续和。...
  • NYOJ:75-日期计算

    千次阅读 2017-06-30 23:26:41
    日期计算 时间限制:3000 ms | 内存限制:65535 KB 难度:1描述 如题,输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天。输入 第一行输入一个数N(0),表示有N组测试数据。后面的N行输入多组...
  • Java日期计算,推荐使用Calendar进行日期加减 Java code: import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /* * time add */ public static String calFullDate(Date ...
  • java 时间 日期计算

    2014-03-21 21:34:10
    蓝桥中 时间计算 总是以...我用c语言学过一篇关于日期计算的文章可以用来处理一些常用的操作比如: 给你两个日期来计算中间相隔多少天了。 给你一个日期给你一个天数来向前、向后推算日期了.。 毕竟考试还是要用最
  • Java实现 蓝桥杯 算法提高 日期计算

    万次阅读 多人点赞 2019-06-13 12:40:01
    算法提高 日期计算 时间限制:1.0s 内存限制:256.0MB 问题描述  已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况。尤其是逢百年不闰,逢400年闰的情况。 输入格式  输入只有一行...
  • js 日期计算

    千次阅读 2009-09-21 15:56:00
    Date.prototype.isLeapYear 判断闰年Date.prototype.Format 日期格式化Date.prototype.DateAdd 日期计算Date.prototype.DateDiff 比较日期差Date.prototype.toString 日期转字符串Date.prototype.toArray 日期...
  • 随机输入日期计算星期几,打印任意一年的日历 已知,1900年1月1日是星期1,用户随机输入年月日,计算星期几 实现思路: 一、知道1900年1月1日为星期一,求输入的年份月份与1900年1月1日相隔的总天数。闰年366天...
  • 网页日历与日期计算(一)

    千次阅读 2018-08-01 17:52:19
    基本的网页日历与日期计算 最近刚刚开始学习前端,先从基础的html+css+js方面学习(参考w3c)。为了巩固学习成果,制作一个简单的网页日历以及日期计算,主要布局有: 页面显示日历,实现月份切换,显示当日...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 71,679
精华内容 28,671
关键字:

日期计算