程序经过一系列处理,得到两个string类型的时间值,一个值的形式为:“2008-05-09”,一个形式为“2008-5-13”,如何比较他们之间相差的天数?
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class CompareTime {
public static void main(String[] args) {
String t1 = "2009-02-03";
String t2 = "2009-04-28";
try {
System.out.println(CompareTime.getBetweenDays(t1, t2));
} catch (ParseException e) {
e.printStackTrace();
}
}
/**
* 取得两个时间段的时间间隔
*
* @author color
* @param t1
* 时间1
* @param t2
* 时间2
* @return t2 与t1的间隔天数
* @throws ParseException
* 如果输入的日期格式不是0000-00-00 格式抛出异常
*/
public static int getBetweenDays(String t1, String t2)
throws ParseException {
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
int betweenDays = 0;
Date d1 = format.parse(t1);
Date d2 = format.parse(t2);
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(d1);
c2.setTime(d2);
// 保证第二个时间一定大于第一个时间
if (c1.after(c2)) {
c1 = c2;
c2.setTime(d1);
}
int betweenYears = c2.get(Calendar.YEAR) - c1.get(Calendar.YEAR);
betweenDays = c2.get(Calendar.DAY_OF_YEAR)
- c1.get(Calendar.DAY_OF_YEAR);
for (int i = 0; i < betweenYears; i++) {
c1.set(Calendar.YEAR, (c1.get(Calendar.YEAR) + 1));
betweenDays += c1.getMaximum(Calendar.DAY_OF_YEAR);
}
return betweenDays;
}
}
分享到:
相关推荐
用C#计算两个日期之间相差的天数,通过TimeSpan进行计算比较简单
计算两个日期相差的天数是一个常见的需求,例如计算两个日期之间的时间间隔。在 Java 中,我们可以使用 Calendar 对象来实现此功能。 首先,我们可以使用 Calendar 对象的 setTime 方法将两个日期设置到 Calendar ...
C语言实现计算两个日期之间的天数的算法,原创!
kettle中使用js计算两个日期之间的天数
总结一下,Python中计算两个日期之间相差天数的关键在于正确地将日期字符串转换为`date`对象,然后使用减法操作和`.days`属性来计算差值。了解这些基础操作后,你可以方便地处理日期相关的各种问题。在实际编程中,...
本示例源码专为Delphi初学者设计,它演示了如何在Delphi 7中计算两个日期之间的天数差异。下面我们将深入探讨这个主题。 首先,了解日期和时间在Delphi中的表示方式至关重要。在Delphi中,日期和时间通常用...
总的来说,Java提供了多种方式来计算两个日期之间相差的月数,选择哪种方法取决于你的具体需求,如是否需要考虑日期中的天数,以及是否处理跨闰年的边界问题。对于简单的情况,`ChronoUnit.MONTHS.between()`就足够...
接下来,我们需要一个函数来计算两个日期之间的总天数。C++标准库中的`chrono`模块可以方便地处理日期和时间的计算。我们可以通过`std::chrono::days`来表示日期差: ```cpp std::chrono::days daysBetween(const ...
本人编写,通过自己定义的函数计算两个日期之间周末的天数和工作日天数,经过测试,非常好用
这段代码提供了一个JavaScript函数 `functionDateDiff`,用于计算两个日期字符串之间相隔的天数。 #### 函数解析 - **参数**: - `sDate1`:表示起始日期的字符串。 - `sDate2`:表示结束日期的字符串。 - 这两...
本文将详细介绍如何在Java中计算两个日期之间的天数差,并对给出的代码进行解析。 #### 一、问题背景 在很多业务场景中,我们需要计算两个日期之间的差距,比如计算用户的注册天数、订单的有效期等。这些计算通常...
在codesys系统(PLC)中计算两个日期的相隔天数
matlab版计算任意两个日期相隔的天数,函数原型为function how_many_days = days(year1,month1,day1,year2,month2,day2)。
flex计算连个日期之间相差的天数
计算两个时间之间的年数、月数、天数、时、分、秒,计算两个时间之间的年数、月数、天数、时、分、秒
计算两个日期相隔天数并减去节假日,这个可以使用在各种需要通知的场景以及工作日提醒等
计算除周六日、法定节假日以外两个日期之间的间隔天数
在VB6.0(Visual Basic 6.0)中,计算两个日期之间的天数差是一项常见的编程任务,尤其是在处理时间序列数据或者进行日历相关的应用时。VB6提供了丰富的日期和时间函数,使得我们可以轻松地完成这样的计算。下面将...
这是一个非常简单好用的东东,用于简单计算两个日期之间的差值。
在IT领域,尤其是在编程实践中,计算两个日期之间的天数是一项常见的任务。在给定的场景中,我们讨论的是一个使用Visual Studio 2010(VS2010)开发的小程序,它专门用于实现这一功能。这个程序的名称是`TimeCompute...