题目6 日期差值

 1 import java.util.Arrays;
 2 import java.util.Comparator;
 3 import java.util.Scanner;
 4
 5 public class Main{
 6     public static void main(String[]args){
 7         Date t=new Date();
 8         t.year=0;
 9         t.month=1;
10         t.day=1;
11         int count=0;
12         while(t.year!=5001){
13             buf[t.year][t.month][t.day]=count;
14             t.nextDate();
15             count++;
16         }
17
18         Scanner in=new Scanner(System.in);
19         while(in.hasNext()){
20             String day=in.nextLine();
21             String y=day.substring(0, 4);
22             int y_=Integer.valueOf(y);
23             String m=day.substring(4, 6);
24             int m_=Integer.valueOf(m);
25             String d=day.substring(6, 8);
26             int d_=Integer.valueOf(d);
27             int x1=buf[y_][m_][d_];
28              day=in.nextLine();
29              y=day.substring(0, 4);
30              y_=Integer.valueOf(y);
31              m=day.substring(4, 6);
32              m_=Integer.valueOf(m);
33              d=day.substring(6, 8);
34              d_=Integer.valueOf(d);
35              int x2=buf[y_][m_][d_];
36              System.out.println(Math.abs(x1-x2)+1);
37         }
38      }
39     private static int isYeap(int x){
40         if(x%4==0&&x%100!=0||x%400==0) return 1;
41         else return 0;
42     }
43     private static int[][]dayOfMonth={
44             {0,0},
45             {31,31},
46             {28,29},
47             {31,31},
48             {30,30},
49             {31,31},
50             {30,30},
51             {31,31},
52             {31,31},
53             {30,30},
54             {31,31},
55             {30,30},
56             {31,31}
57     };
58     private static class Date{
59         int year;
60         int month;
61         int day;
62         void nextDate(){
63             day++;
64             if(day>dayOfMonth[month][isYeap(year)]){
65                 day=1;
66                 month++;
67             }
68             if(month>12){
69                 month=1;
70                 year++;
71             }
72         }
73     }
74     private static int[][][]buf=new int[5001][13][32];
75 }
时间: 2024-08-04 01:54:23

题目6 日期差值的相关文章

九度oj 题目1096:日期差值

题目描述: 有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天 输入: 有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD 输出: 每组数据输出一行,即日期差值 样例输入: 20110412 20110422 样例输出: 11 1 #include <cstdio> 2 #include <cstdlib> 3 #include <cstring> 4 #include <string> 5 #include

九度题目1096:日期差值

题目描述: 有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天 输入: 有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD 输出: 每组数据输出一行,即日期差值 样例输入: 20110412 20110422 样例输出: 11 #include<stdio.h> #include<algorithm> #include<iostream> #include<stack> #include<vector&

题目1096:日期差值 Java/C++

题目描述: 有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天 输入: 有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD 输出: 每组数据输出一行,即日期差值 样例输入: 20110412 20110422 样例输出: 11 Java AC 代码: import java.util.Scanner; public class Main { /** * @param args */ public static void main(String[]

题目1096:日期差值 (2009年上海交通大学计算机研究生机试真题)

题目描述: 有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天 输入: 有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD 输出: 每组数据输出一行,即日期差值 样例输入: 20110412 20110422 样例输出: 11 代码如下: #include "stdio.h" int dayOfMonth[13][2]={ 0,0, 31,31, 28,29, 31,31, 30,30, 31,31, 30,30, 31,31, 31,

九度OJ 1096 日期差值

题目1096:日期差值 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5143 解决:1789 题目描述: 有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天 输入: 有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD 输出: 每组数据输出一行,即日期差值 样例输入: 20110412 20110422 样例输出: 11 #include<stdio.h> #include<string.h> #include<s

日期差值

题目描述: 有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天 输入: 有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD 输出: 每组数据输出一行,即日期差值 样例输入: 20110412 20110422 样例输出: 11 来源: 2009年上海交通大学计算机研究生机试真题 #include <iostream> using namespace std; #define ISYEAR(x) x%100 != 0 && x%4

1096.日期差值

题目描述: 有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天 输入: 有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD 输出: 每组数据输出一行,即日期差值 样例输入: 20110412 20110422 样例输出: 11 #include<stdio.h> #define ISYEAP(x) x%100!=0 && x%4==0 || x%400==0?1:0 int dayofmonth[13][2]= { 0,0, 3

九度1096:日期差值

http://ac.jobdu.com/problem.php?pid=1096 很经典的计算任意两个日期之间的差值. 方法:利用预处理,以空间换时间的方法,计算任意日期与初始日期0年1月1日之间的差值.再讲两差值求差+1即可.本题关键在预处理部分 #include<stdio.h> #define ISYEAR(x) x%100!=0&&x%4==0||x%400==0?1:0 int dayOfMonth[13][2]={     0,0,     31,31,     2

Hibernate中HQL的日期差值计算,可计算相差多少秒

最近有个业务需求就是计算订单创建时间离现在超过 4 小时的订单都查找出来! 那么就需要用到日期函数了. 网上找了一下总共的日期函数有一下几个: CURRENT_DATE() 返回数据库当前日期 时间函数 JPAQL HQL CURRENT_DATE() 返回数据库当前日期 CURRENT_TIME() 时间 时间函数 JPAQL HQL CURRENT_TIME() 返回数据库当前时间 SECOND(d) 从日期中提取具体秒 时间函数 HQL SECOND(时间字段) 空的时候返回null MI