java日期相减得到天数

public class Dat {

static SimpleDateFormat h;

public static void Test(Date date, int m) {
h = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String n = h.format(date);

String myString = DateFormat.getDateInstance().format(date);
System.out.println("格式化后:" + myString);

Timestamp time = Timestamp.valueOf(n);

// 在天数上加(减)天数
long l = time.getTime() + 24 * 60 * 60 * m * 1000;
time.setTime(l);
System.out.println("计算后的日期:" + time);
}
public static void main(String arg[]){
Date date=new Date(108,04,02);
Test(date,5);

}

}

这个是加上天数的,怎么实现相减?有点问题

第1个回答  推荐于2020-12-02
//日期相减算出秒的算法

Date date1 = new SimpleDateFormat("yyyy-mm-dd").parse("2006-06-08");

Date date2 = new SimpleDateFormat("yyyy-mm-dd").parse("2006-06-12");

long l = date1.getTime()-date2.getTime()>0 ? date1.getTime()-date2.getTime():

date2.getTime()-date1.getTime();

System.out.println(l/1000+"秒");

//日期相减得到相差的日期

long day = (date1.getTime()-date2.getTime())/(24*60*60*1000)>0 ? (date1.getTime()-date2.getTime())/(24*60*60*1000):

(date2.getTime()-date1.getTime())/(24*60*60*1000);

System.out.println("相差的日期: " +day);本回答被网友采纳

java 两个日期相减的怎么做?
对已日期相减,最高效的做法就是将二者都转换成毫秒,相减之后再根据你的需求进行单位转换,比如你想显示相差的秒数,就除以1000,以此类推,翠花,上代码:\/* 随便选两个时间 *\/ String d1 = "2015-04-17"; String d2 = "2015-06-17"; \/* 先转成毫秒并求差 *\/ SimpleDateF...

java中如何实现日期相减
求两个日期之间相隔的天数:Java代码示例:java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");java.util.Date beginDate= format.parse("2007-12-24");java.util.Date endDate= format.parse("2007-12-25");long day=(date.getTime()-mydate.getTime())\/(...

java中知道两个日期如何获得两个日期之间的天数
\/\/天数int days = 0;Calendar can = null;\/\/如果can1 < can2\/\/减去小的时间在这一年已经过了的天数\/\/加上大的时间已过的天数if(can1.

java计算两个日期相差多少天小时分钟等
思路是:获取两个日期对象的毫秒数,然后相减,再转化为具体天数。方法:日期对象(Date)方法getTime()获取毫秒数。

Java中如何将如何实现一个自定义日期与当前系统日期相减并等到结果?
一个自定义日期与当前系统日期相减 param date 自定义日期 return \/ public static String subSystemTime(Date date){ StringBuilder sb = new StringBuilder();long year,month,day,hour,minute,second;long milliSecondSub = date.getTime()-System.currentTimeMillis();if(milliSecondSub<0){ milliSec...

谁帮我写一个java日期差的函数,2012-01-30--2013-02-01是3天
import java.util.Date;public class DateTest { public static String reduceDay(Date d,Date d2){ String s=Math.abs((d2.getTime()-d.getTime())\/(1000*86400))+"";return s;} public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"...

java实现两个时间相减,得到这个时间段是几年?不满1年的也算1年,依次类...
import java.text.ParseException;import java.util.Calendar;import java.util.Scanner;\/* * 需求:java实现两个时间相减,得到这个时间段是几年?不满1年的也算1年,依次类推,不满2年的算2年 * * PS:我是菜鸟,东拼四凑弄出来这个。大概思路是这样,健壮性判断和bug、优化代码就靠你自己了 ...

JAVA时间相减的问题
Date d = new Date();\/\/获得当前时间 DateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); \/\/格式化时间 System.out.println(f.format(d));\/\/格式化显示 Long ms = d.getTime();\/\/获得毫秒值 你分多,相同的问题发两个,牛X~...

Java中的一点问题,关于DATE
getTime() 是1970年到这个时间的毫秒数 两个相减就是两个日期相差的毫秒数 然后转化为天数就可以了

java 纠错一段代码
用另一种方法来比较两个日期相差的天数吧,先取两个日期的毫秒数,然后相减再求出相差的天数,这样不用那么费事 Calendar calendar = Calendar.getInstance();calendar.set(2008, 12, 5);Calendar calendar2 = Calendar.getInstance();calendar2.set(2008, 11, 4);long days = Math.abs((calendar2...

相似回答