java Timestamp减当前时间得天数差

Posted

tags:

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

当前的
Date date = new Date();
Timestamp timestamp = new Timestamp(date.getTime());
时间减去得到的这个时间Timestamp rdate = b.getRdate();

Java怎么去得到两个相减的天数

import java.util.*;
public class CalendarDemo
public static void main(String args[])
Calendar calendar = Calendar.getInstance(); //创建一个日历对象。
calendar.setTime(new Date()); //用当前时间初始化日历时间。
String year = String.valueOf(calendar.get(Calendar.YEAR));
String month = String.valueOf(calendar.get(Calendar.MONTH) + 1);
String date = String.valueOf(calendar.get(Calendar.DAY_OF_MONTH));
String day = String.valueOf(calendar.get(Calendar.DAY_OF_WEEK) - 1);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
System.out.println("现在的时间是:");
System.out.println("" + year + "年" + month + "月" + date + "日 " + "星期" + day);
System.out.println("" + hour + "时" + minute + "分" + second + "秒");
calendar.set(1949, 9, 1); //将日历翻到1949年10月1日,注意9表示十月。
// 返回当前时间,作为从开始时间的 UTC 毫秒值。
long time1949 = calendar.getTimeInMillis();
calendar.set(2014, 9, 1); //将日历翻到2014年10月1日。9表示十月。
// 返回当前时间,作为从开始时间的 UTC 毫秒值。
long time2004 = calendar.getTimeInMillis();
long interdays = (time2014 - time1949) / (1000 * 60 * 60 * 24);
System.out.println("2014年10月1日和1949年10月1日相隔" + interdays + "天");

追问

像我问题的那个:timestamp获取的是当前的,可以直接用timestamp-rdate这个 吗

参考技术A 你好!

没错,就是getTime()!

两个时间的getTime()相减,而后按 1000*60*60*24 这样取模,得到天

可以用double类型,当结果有零头,就当+1天

不足1天! 你看着办好了。 计算数学中,还有四舍五入,所以,……………………

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怎么计算两个日期之间去除周末的天数?