java中如何用calendar类计算2个时间中间差多少天

java中如何用calendar类计算2个时间中间差多少天,第1张

Calendar类计算两个日期的差,需要转化成毫秒计算,然后再转化成天

例:

import javautilCalendar;

public class Test{

public static void main(String[] args){

Calendar a = CalendargetInstance(),

  b = CalendargetInstance();

aset(2015, CalendarMARCH, 31);

bset(2015, CalendarAPRIL, 1);

long diffDays = (bgetTimeInMillis() - agetTimeInMillis()) / (1000  60  60  24);

Systemoutprintln(diffDays);

}

}

Java创建一个日历对象,需要引入javautil包,用当前时间初始化日历时间,计算两个日期之间相隔的天数,实例演示了2014年10月1日和1949年10月1日中间相隔的天数,计算方法如下:

import javautil;

public class CalendarDemo {

public static void main(String args[]) {

Calendar calendar = CalendargetInstance(); //创建一个日历对象。

calendarsetTime(new Date()); //用当前时间初始化日历时间。

String year = StringvalueOf(calendarget(CalendarYEAR));

String month = StringvalueOf(calendarget(CalendarMONTH) + 1);

String date = StringvalueOf(calendarget(CalendarDAY_OF_MONTH));

String day = StringvalueOf(calendarget(CalendarDAY_OF_WEEK) - 1);

int hour = calendarget(CalendarHOUR_OF_DAY);

        int minute = calendarget(CalendarMINUTE);

        int second = calendarget(CalendarSECOND);

Systemoutprintln("现在的时间是:");

Systemoutprintln("" + year + "年" + month + "月" + date + "日 " + "星期" + day);

Systemoutprintln("" + hour + "时" + minute + "分" + second + "秒");

calendarset(1949, 9, 1); //将日历翻到1949年10月1日,注意9表示十月。

        // 返回当前时间,作为从开始时间的 UTC 毫秒值。

long time1949 = calendargetTimeInMillis();

calendarset(2014, 9, 1); //将日历翻到2014年10月1日。9表示十月。

        // 返回当前时间,作为从开始时间的 UTC 毫秒值。

long time2004 = calendargetTimeInMillis();

long interdays = (time2014 - time1949) / (1000  60  60  24);

Systemoutprintln("2014年10月1日和1949年10月1日相隔" + interdays + "天");

}

}

public static void main(String[] args)

{

String time1 = "20140701000000";

String time2 = "20140723000000";

String tmpTime = time1;

int offect = 0;

while (!time2equals(tmpTime))

{

offect ++;

tmpTime = adjustDay(tmpTime, 1);

}

Systemoutprintln("相差:" + offect + "天");

}

/

时间日偏移

<功能详细描述>

@param time yyyyMMddHHmmss

@param offset 偏移量

@return yyyyMMddHHmmss

@see [类、类#方法、类#成员]

/

private static String adjustDay(String time, int offset)

{

SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");

String retTime = null;

try

{

Date date = formatterparse(time);

Calendar calendar = CalendargetInstance();

calendarsetTime(date);

calendaradd(CalendarDATE, offset);

date = calendargetTime();

retTime = formatterformat(date);

}

catch (ParseException e)

{

eprintStackTrace();

}

return retTime;

}

以上就是关于java中如何用calendar类计算2个时间中间差多少天全部的内容,包括:java中如何用calendar类计算2个时间中间差多少天、java利用Calendar如何计算两个日期只差、java用for循环计算两个日期相差天数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9434948.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存