//相差分钟数 System.out.println("date2 与 date 相差" + hours + "小时"+ mins + "分钟");希望能够帮助到你!***如果我的回答对你有帮助,别忘了点击我的回答下方【选为满意答案】按钮。谢谢!
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 + "分钟");
****************************************希望能够帮助到你!************************************************如果我的回答对你有帮助,别忘了点击我的回答下方【选为满意答案】按钮。谢谢!
2014-01-11
1.用java.util.Calender来实现
Calendar calendar=Calendar.getInstance();calendar.setTime(new Date());System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//今天的日期calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+1);//让日期加1System.out.println(calendar.get(Calendar.DATE));//加1之后的日期Top
2.用java.text.SimpleDateFormat和java.util.Date来实现Date d=new Date();SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");System.out.println("今天的日期:"+df.format(d));System.out.println("两天前的日期:" + df.format(new Date(d.getTime() - 2 * 24 * 60 * 60 * 1000)));System.out.println("三天后的日期:" + df.format(new Date(d.getTime() + 3 * 24 * 60 * 60 * 1000)));
GregorianCalendar gc=new GregorianCalendar(); gc.setTime(new Date); gc.add(field,value); value为正则往后,为负则往前 field取1加1年,取2加半年,取3加一季度,取4加一周 取5加一天....
*java中对日期的加减操作*gc.add(1,-1)表示年份减一.*gc.add(2,-1)表示月份减一.*gc.add(3.-1)表示周减一.*gc.add(5,-1)表示天减一.*以此类推应该可以精确的毫秒吧.没有再试.大家可以试试.*GregorianCalendar类的add(int field,int amount)方法表示年月日加减.*field参数表示年,月.日等.*amount参数表示要加减的数量.
2018-04-16
public static void main(String[] args){
//初始化日期时间
Calendar cal1 = Calendar.getInstance();
cal1.set(2014, 1, 10, 18, 20);
Calendar cal2 = Calendar.getInstance();
cal2.set(2014, 1, 11, 3, 5);
//获取TimeInMillis 毫秒级别
long time1 = cal1.getTimeInMillis();
long time2 = cal2.getTimeInMillis();
//计算时间差
long lagTime = time2 - time1;
System.out.println("time1="+time1+"time2="+time2+"lagTime="+lagTime);
//计算相差的小时数
long laghour = lagTime/1000/60/60;
//计算相差的分钟数
long lagMinute = lagTime/1000/60-laghour*60;
System.out.println("laghour=["+laghour+"] lagMinute=["+lagMinute+"]");
}
运行输出为:
time1=1392027618682time2=1392059118682lagTime=31500000
laghour=[8] lagMinute=[45]2014-01-11
用SimpleDateFormat把这2个日期转成Date,
long date1=d1.getTime();
long date2=d2.getTime();
long days=(date1-date2)/(24*60*60*1000)2014-01-11
Date a1=new Date("2014/1/10 18:20");Date a2=new Date("2014/1/11 3:20");long millis=a2.getTime()-a1.getTime();//计算他们之间时间差(毫秒)int hours=millis/1000/60/60;//计算相差多少小时
millis = millis - hours*60*60*1000;//除去小时数后剩余毫秒数int minutes=millis/1000/60;//计算相差多少分钟
millis = millis - minutes*60*60*1000;//除去分钟数后剩余毫秒数
int seconds = millis/1000;
millis = millis - seconds*1000;System.out.println(“它们之间相差”+hours+"小时"+minutes+"分钟"+seconds+"秒"+millis+"毫秒");2014-01-11
//初始化时间
Date a1=new Date("2014/1/10 18:20");
Date a2=new Date("2014/1/11 3:20");
//计算他们之间时间差(相差多少毫秒 1000毫秒等于一秒)
long l=a2.getTime()-a1.getTime();
//计算相差多少分钟
int m=l/1000.0/60;
//计算相差多少小时
int h=l/1000.0/60/60;
//相差多少小时分钟
System.out.println(l/1000/60/60+"小时"+l/1000/60%60+"分钟");2014-01-11
假设
现在是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){
}2014-01-11
用减法计算就好了啊,输入当前时间,输入计算的时间,分别用y1,m1,d1,h1,m1和y2,m2,d2,h2,m2定义两个时间,然后根据每小时60分钟,每天24小时求差就可以了吧。。2014-01-11
新手可以使用joda time库。
Duration 类满足这个需求
java.util.concurrent.TimeUnit也可以用来转换,从 ms 到 days2014-01-11
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");Date date=new Date(1433198978035);System.out.println(format1.format(date));2015-06-08