`
citichys
  • 浏览: 14844 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

求两个时间段相差的天数,具体到某月某号

阅读更多
package com.util.demo;

public class DiffYear {

/**
* @param args
*/
public static void main(String[] args) {
int year1 = 2000;
int year2 = 2015;
System.out.println(year1 + "与" + year2 + "相差的天数:"
+ getDiffDay(year1, year2));
String y1="19830117",y2="20140219";
System.out.println(y1 + "与" + y2 + "相差的天数:"
+ getDiffDay(y1, y2));
}

/*
* 取得两个年份相差的天数
*/
public static long getDiffDay(int y1, int y2) {
long sum = 0;
for (int year = y1; year < y2; year++) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
sum += 366;
} else {
sum += 365;
}
}
return sum;
}

/**
* 求两个年份之间相差的天数,具体到某个月份 比如1900年4月1号到2015年5月7号相差的天数
*
* @param y1
* @param y2
* @return
*/
public static long getDiffDay(String y1, String y2) {
long sum = 0;
String yearStr1 = y1.substring(0, 4);
String monthStr1 = y1.substring(4, 6);
String dayStr1 = y1.substring(6,;
int year1 = getVal(yearStr1);
int mont1 = getVal(monthStr1);
int day1 = getVal(dayStr1);
String yearStr2 = y2.substring(0, 4);
String monthStr2 = y2.substring(4, 6);
String dayStr2 = y2.substring(6,;
int year2 = getVal(yearStr2);
int mont2 = getVal(monthStr2);
int day2 = getVal(dayStr2);
int sjyear1 = year1 + 1;// 实际计算的时候,计算开始年份的下一年
int sjyear2 = year2 - 1;// 实际计算的时候,计算结束年份的上一年
for (int i = sjyear1; i < sjyear2; i++) {
// 判断是否为闰年
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {
sum += 366;
} else {
sum += 365;
}
}
// 判断开始的年对应月份
for (int i = 1; i < mont1; i++) {
if (mont1 == 2) {
if (year1 % 4 == 0 && year1 % 100 != 0 || year1 % 400 == 0) {
sum += 29;
} else {
sum += 28;
}
} else {
if (mont1 == 4 || mont1 == 6 || mont1 == 9 || mont1 == 11) {
sum += 30;
} else {
sum += 31;
}
}
}
// 判断结束的年对应月份
for (int i = 1; i < mont2; i++) {
if (mont2 == 2) {
if (year2 % 4 == 0 && year2 % 100 != 0 || year2 % 400 == 0) {
sum += 29;
} else {
sum += 28;
}
} else {
if (mont2 == 4 || mont2 == 6 || mont2 == 9 || mont2 == 11) {
sum += 30;
} else {
sum += 31;
}
}
}
sum = sum + day1 + day2;
return sum;
}

public static int getVal(String str) {
int num = 0;
if (str.startsWith("0")) {
str = str.substring(1, str.length());
}
num = Integer.parseInt(str);
return num;
}

}
分享到:
评论

相关推荐

    两个时间间隔的天数

    这段代码提供了一个JavaScript函数 `functionDateDiff`,用于计算两个日期字符串之间相隔的天数。 #### 函数解析 - **参数**: - `sDate1`:表示起始日期的字符串。 - `sDate2`:表示结束日期的字符串。 - 这两...

    Android 获取2个日期相差天数

    在Android开发中,有时我们需要计算两个日期之间的差值,例如计算两个生日之间相差多少天,或者确定一个事件...以上就是如何在Android中获取两个日期相差天数的方法,你可以根据具体需求将这段代码整合到你的项目中。

    JS 获得两个时间间隔天数

    这篇博客“JS获得两个时间间隔天数”提供了一个实用的方法来解决这个问题。在这个方法中,我们将探讨如何利用JavaScript的内置Date对象以及一些基本的算术运算来计算日期间隔。 首先,我们需要创建两个Date对象,...

    VB6.0 两个日期差,天数差

    在VB6.0(Visual Basic 6.0)中,计算两个日期之间的天数差是一项常见的编程任务,尤其是在处理时间序列数据或者进行日历相关的应用时。VB6提供了丰富的日期和时间函数,使得我们可以轻松地完成这样的计算。下面将...

    JAVA求两个日期之间相差的天数

    在Java编程中,计算两个日期之间相差的天数是一个常见的任务,这通常涉及到日期类的使用。Java提供了多种处理日期和时间的类,比如`java.util.Date`、`java.util.Calendar`以及`java.time`包中的`LocalDate`等。在本...

    计算两个日期相隔天数并减去节假日

    计算两个日期相隔天数并减去节假日,这个可以使用在各种需要通知的场景以及工作日提醒等

    Java中计算两个日期相差天数和比较2日期先后顺序

    ### Java中计算两个日期相差天数 在Java中,计算两个日期之间相差的天数是一项常见且实用的功能。本文将详细介绍如何使用`SimpleDateFormat`、`Date`以及`Calendar`类来实现这一功能。 #### 代码解读 首先,我们...

    计算两日期之间的天数

    在IT领域,尤其是在编程实践中,计算两个日期之间的天数是一项常见的任务。在给定的场景中,我们讨论的是...`TimeCompute.exe`小程序是这一功能的具体实现,为用户提供了一种便捷的方式来计算两个日期之间的天数差异。

    kettle中使用js计算两个日期之间的天数.txt

    kettle中使用js计算两个日期之间的天数

    javaScript 计算两个日期的天数相差(示例代码)

    本文主要讲解了如何使用JavaScript计算两个日期之间的天数差以及如何计算从某一特定日期开始后的第N天是哪一天。接下来,我们将详细探讨这些知识点。 首先,我们需要了解JavaScript中日期对象(Date)的使用方法。...

    MySQL计算两个日期相差的天数、月数、年数

    例如,从2月28日到3月28日是1个月,但从2月28日到3月29日也是1个月,但天数却相差1天。因此,在处理跨月或跨年的日期差异时,需要特别留意这种特殊情况。 在实际应用中,这些函数可以结合业务需求,与其他SQL语句如...

    Java编程输入两个年月日,(1)判断两个日期是否相同,并且将相差的天数显示出来;(2)将日期后推或前推N天,并将该日期输出。

    **目标**:给定两个日期,判断这两个日期是否相同,并计算它们之间的天数差。 **实现思路**: - 首先,通过用户输入获取两个日期。 - 使用`DateType`类来表示日期,并通过`bool`方法判断两个日期是否相同。 - 通过`...

    PHP 计算两个时间段之间交集的天数示例

    在PHP编程中,有时我们需要计算两个时间段之间的交集天数,这在日程管理、时间表安排或资源分配等场景非常常见。以下是一个详细的PHP函数示例,用于计算两个时间段的交集天数: 首先,定义一个名为`share_date_days...

    JS简单获取日期相差天数的方法

    在JavaScript开发中,日期和时间的处理是一个常见的需求,尤其是当我们需要计算两个日期之间的相差天数时。本文将详细介绍一种简单的方法来计算两个日期之间相差的天数,以及JavaScript中处理日期时间的基础知识。 ...

    Java判断两个日期相差天数的方法

    在Java编程中,有时我们需要计算两个日期之间的差异,比如判断两个日期相差的天数。这里主要介绍两种不同的方法来实现这个功能。 首先,我们可以使用`java.util.Calendar`类来计算两个日期之间的差值。以下是一个...

    php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码

    计算两个时间点之间差异的基本思路是:首先将两个时间点转换为Unix时间戳,然后进行相减得到总秒数差值。有了总秒数后,通过与一天的秒数(3600秒*24小时=86400秒)取余数,可以计算出相差的天数。如果需要小时数、...

    java计算两个日期相隔的天数

    在Java编程语言中,计算两个日期之间的天数差是一个常见的任务,这在处理时间相关的业务逻辑时非常有用。本文将详细介绍如何使用Java进行此类计算,包括基础方法、API的使用以及可能遇到的问题。 首先,Java提供了`...

    java获取两个时间的相隔时间,包括年、月、日、时、分、秒

    在Java编程中,计算两个日期之间的差异是一项常见的任务,它涉及到日期和时间的处理。`DateUtils.java` 文件很可能是包含一个工具类,用于帮助我们完成这个任务。在这个类中,可能包含了各种方法来计算两个`java....

    DateTime相差年月日相差计算

    标题"DateTime相差年月日相差计算"指出,我们将探讨如何在C#中计算两个日期之间的年、月、日差值。描述中提到的具体示例——2018年1月21日与2011年1月22日之间的差距,展示了这个计算过程。 首先,我们需要理解...

Global site tag (gtag.js) - Google Analytics