两个年月日怎么相减_java 两个日期相减的怎么做?

展开全部

对已日期相减,最高效的做法就是将二者都转换成毫秒,相减之后再根据你的需求进行单位转32313133353236313431303231363533e78988e69d8331333337393539换,比如你想显示相差的秒数,就除以1000,以此类推,翠花,上代码:/* 随便选两个时间 */

String d1 = "2015-04-17";

String d2 = "2015-06-17";

/* 先转成毫秒并求差 */

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

long m = sdf.parse(d2).getTime() - sdf.parse(d1).getTime();

/* 根据你的需求进行单位转换 */

System.out.println("相差毫秒数:"+ m );

System.out.println("相差天数:"+ ( m / (1000 * 60 * 60 * 24) ) );

要注意的地方:

时间格式可能有很多种,比如20150611或者2015年6月11日等等。所以你需要以对应的方式来初始化SimpleDateFormat对象。

例如20150611,就要写成:SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

SimpleDateFormat类是非线程安全的,所以在高并发下需要加同步锁,否则会出现灵异事件。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部