java Timestamp减当前时间得天数差

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java Timestamp减当前时间得天数差相关的知识,希望对你有一定的参考价值。

得到当前时间的分钟毫秒然后在减去2015-04-16 15:38:54.660这个,,得到天数

Calendar ca= Calendar.getInstance();
ca.set(2015, 03, 16, 15, 38, 54);
System.out.println((new Date().getTime()-ca.getTimeInMillis())/1000/3600/24);

SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");
Date oDate=df.parse("2015-04-16 15:38:54.660");
System.out.println((new Date().getTime()-oDate.getTime())/1000/3600/24);
参考技术A 在sql中就能处理掉这个问题。用sql函数datediff()追问

在Java里 没有联系到sql

追答

哦,那就用Calendar类里的方法来处理。calendar.get(Calendar.DATE)就能取到时间数据中的天数

追问

那怎么把 2015-04-16 15:38:54.660 这个 放到calendar里啊

Java获取时间差(天数差,小时差,分钟差)

网上有很多博文是讲如何获取时间差的,我看了一下,多数是使用Calendar类来实现,但是都讲得比较乱,在这里我用SimpleDateFormat来实现,比较简单,我认为比较适合拿来用。

首先我们先初始化我们的SimpleDateFormat

SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm");//如2016-08-10 20:40

1.计算天数差。

String fromDate = simpleFormat.format("2016-05-01 12:00");
String toDate = simpleFormat.format("2016-06-01 12:00");
long from = simpleFormat.parse(fromDate).getTime();
long to = simpleFormat.parse(toDate).getTime();
int days = (int) ((to - from)/(1000 * 60 * 60 * 24));

2.计算小时差

String fromDate = simpleFormat.format("2016-05-01 12:00");
String toDate = simpleFormat.format("2016-05-01 14:00");
long from = simpleFormat.parse(fromDate).getTime();
long to = simpleFormat.parse(toDate).getTime();
int hours = (int) ((to - from)/(1000 * 60 * 60));


3.计算分钟差:

String fromDate = simpleFormat.format("2016-05-01 12:00");
String toDate = simpleFormat.format("2016-05-01 12:50");
long from = simpleFormat.parse(fromDate).getTime();
long to = simpleFormat.parse(toDate).getTime();
int minutes = (int) ((to - from)/(1000 * 60));

最后献上封装的时间差计算工具类(像微信朋友圈那种)

日期计算工具类



以上是关于java Timestamp减当前时间得天数差的主要内容,如果未能解决你的问题,请参考以下文章

hive时间差

Java中计算两个字符串日期之间或当前时间与指定时间的天数差

java 计算当前日期之后一年半是几几年几月几日

mysql如何计算每个月第一天到当前日期的天数?

java操作时间,将当前时间减一年,减一天,减一个月

oracle怎么计算两个日期之间去除周末的天数?