「java中日期类加减」java date加减

博主:adminadmin 2022-11-22 19:54:06 92

今天给各位分享java中日期类加减的知识,其中也会对java date加减进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 中 日期如何相加减???

这个东西很简单。

现在是2004-03-26 13:31:40

过去是:2004-01-02 11:30:24

要获得两个日期差,差的形式为:XX天XX小时XX分XX秒

方法一:

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

try

{

Date d1 = df.parse("2004-03-26 13:31:40");

Date d2 = df.parse("2004-01-02 11:30:24");

long diff = d1.getTime() - d2.getTime();

long days = diff / (1000 * 60 * 60 * 24);

}

catch (Exception e)

{

}

方法二:

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

java.util.Date now = df.parse("2004-03-26 13:31:40");

java.util.Date date=df.parse("2004-01-02 11:30:24");

long l=now.getTime()-date.getTime();

long day=l/(24*60*60*1000);

long hour=(l/(60*60*1000)-day*24);

long min=((l/(60*1000))-day*24*60-hour*60);

long s=(l/1000-day*24*60*60-hour*60*60-min*60);

System.out.println(""+day+"天"+hour+"小时"+min+"分"+s+"秒");

方法三:

SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

java.util.Date begin=dfs.parse("2004-01-02 11:30:24");

java.util.Date end = dfs.parse("2004-03-26 13:31:40");

long between=(end.getTime()-begin.getTime())/1000;//除以1000是为了转换成秒

long day1=between/(24*3600);

long hour1=between%(24*3600)/3600;

long minute1=between%3600/60;

long second1=between%60/60;

System.out.println(""+day1+"天"+hour1+"小时"+minute1+"分"+second1+"秒");

用java实现日期类的加减怎么办?

用java.util.Calendar.

Calendar.getInstance()获得Calendar对象

public abstract void add(int field,

int amount)根据日历的规则,为给定的日历字段添加或减去指定的时间量。例如,要从当前日历时间减去 5 天,可以通过调用以下方法做到这一点:

add(Calendar.DAY_OF_MONTH, -5)。

参数:field - 日历字段。

amount - 为字段添加的日期或时间量。

间隔天数用getTimeInMillis()的值相减,再把毫秒换算成天就可以了

java如何计算日期的加减

第一种,知道日期,如2019091109144

String str=txnTime;

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");//格式化输出日期

Date dt = null;

try {

dt = sdf.parse(str);

} catch (ParseException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

Calendar rightNow = Calendar.getInstance();

rightNow.setTime(dt);

rightNow.add(Calendar.YEAR,-1);//日期减1年

rightNow.add(Calendar.MONTH,3);//日期加3个月

rightNow.add(Calendar.DAY_OF_YEAR,10);//日期加10天

rightNow.add(Calendar.SECOND,60);//日期加60秒天

Date dt1=rightNow.getTime();

String reStr = sdf.format(dt1);

System.out.println(reStr);

第二种,自己获取时间,格式化输出计算加减

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");//格式化输出日期

Date now = new Date();

long time = 60*1000;//60秒

Date afterDate = new Date(now .getTime() + time);//60秒后的时间

Date beforeDate = new Date(now .getTime() - time);//60秒前的时间

System.out.println(sdf.format(afterDate ));

java时间加减

附上代码:

        Date date = new Date("2014/1/10 18:20");

        Date date2 = new Date("2014/1/11 3:5");

        long temp = date2.getTime() - date.getTime();    //相差毫秒数

        long hours = temp / 1000 / 3600;                //相差小时数

        long temp2 = temp % (1000 * 3600);

        long mins = temp2 / 1000 / 60;                    //相差分钟数

        System.out.println("date2 与 date 相差" + hours + "小时"+ mins + "分钟");

****************************************希望能够帮助到你!************************************************

如果我的回答对你有帮助,

别忘了点击我的回答下方【选为满意答案】按钮。

谢谢!

java中日期类加减的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java date加减、java中日期类加减的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-22,除非注明,否则均为首码项目网原创文章,转载请注明出处。