一、需求
在网上看到用SimpleDateFormat类计算相差天数

 SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm");/*天数差*/Date fromDate1 = simpleFormat.parse("2018-03-01 12:00");  Date toDate1 = simpleFormat.parse("2018-03-12 12:00");  long from1 = fromDate1.getTime();  long to1 = toDate1.getTime();  int days = (int) ((to1 - from1) / (1000 * 60 * 60 * 24));  System.out.println("两个时间之间的天数差为:" + days);

因为我只是计算日期间相差多少天,可是用这个方法,如果没有满24小时,相差的天数就不算一天,这就不符合我的要求
后来,我知道了ChronoUnit类,用LocalDate来计算天数
LocalDate不包括时间,只是单纯的年月日

二、实现步骤
方法一:
(这个方法只能在Android8以上才能用)
选择一个Date类型的年月日,将其转化成对应的LocalDate,然后用LocalDate.now获取今天的年月日,接着用ChronoUnit.DAYS.between(startDate, endDate);
来计算
这是endDate减去starDate,

val todayLocalDate = LocalDate.now()//获取日期框中localdate的值val selectLocalDate = CustomDateFormat.dateToLocalDate(tvDate)//如:选中10月30日,今日为10月29日,则选中减去今日,差值为1val differDays= ChronoUnit.DAYS.between(todayLocalDate,selectLocalDate).toInt()@RequiresApi(Build.VERSION_CODES.O)fun dateToLocalDate(date: Date): LocalDate {val instance = date.toInstant()val zoneId = ZoneId.systemDefault()return instance.atZone(zoneId).toLocalDate()}

方法二:
将日期后面的时间全设为0点,这样就不会有不满二十四小时无法算一天的情况了

//某天到今天共有多少天(某天,今天都算在内)public static int intervalsDates(String dateString2) {Date date = Calendar.getInstance().getTime();java.text.DateFormat format = new SimpleDateFormat("yyyy-MM-dd");Date date1 = null;Date date2 = null;try {date1 = format.parse(format.format(date)+" 00:00:00");date2 = format.parse(dateString2+" 00:00:00");} catch (ParseException e) {e.printStackTrace();}long interval = (date2.getTime() - date1.getTime()) / (1000*3600*24);if (interval<0){interval = interval*(-1);}int dates = (int) (interval+1);return dates;}

用Date计算日期相差多少天相关推荐

  1. java 计算日期相差天数_Java 计算两个日期相差的天数

    当我们需要计算两个日期相差的天数怎么办呢,今天我们就来用 Java 比较两个日期相差的天数,最简单的方法,直接上代码: 第一种,Date类型计算public static int differentD ...

  2. 通过Date函数制作倒计时程序,计算日期相差时间!

    直接上代码: 禁止盗用: <!DOCTYPE html> <html lang="en"> <head><meta charset=&qu ...

  3. java 计算日期相差天数_JAVA计算两个日期之间相差的天数

    这是本人第一次写博客,主要计算两个日期之间相差的天数 import java.text.ParseException; import java.util.Date; import org.apache ...

  4. oracle计算两个日期相隔月数,计算日期相差

    Java_Date_01_判断两个时间相差的天数 二.参考资料 1.java 判断两个时间相差的天数 2.java计算两个日期之间相差天数和相隔天数详解 文章 rayner 2018-01-04 92 ...

  5. c/c++ 输入两个日期,计算日期相差多少天

    1,题目: 有两个日期,计算它们之间的差值,如果两个日期是连续的,则按照2天算. 日期格式规定为YYYYMMDD,例如20200709 2,基本思路 (1)输入两个日期 (2)以小的日期为底,每次加一 ...

  6. 不同Unix环境下date计算日期的用法

    转自:http://blog.rootshell.be/2006/05/04/solaris-yesterday-date/ Solaris & yesterday date? The GNU ...

  7. 日期计算excel_在Excel中计算日期范围内的项目

    日期计算excel If you have a list on your Excel worksheet, and a date in each row, you can use a formula ...

  8. JavaScript计算两个日期相差天数/分钟/小时

    /*** 日期相减获取天数(用于公式计算)* @param date1 日期一 例如:"{'value':'2020-06-05','date_format':'yyyy-MM-dd'}&q ...

  9. LocalDate日期相差天数; 当前日期加一天或减一天

    LocalDate.toEpochDay相减计算两个日期相差天数. public static void main(String[] args) {LocalDate date1 = LocalDat ...

最新文章

  1. 如何修复网站漏洞Discuz被挂马 快照被劫持跳转该如何处理
  2. mkdir创建递归目录
  3. 速读《构建之法:现代软件工程》提问
  4. 【MM模块】ASAP 项目实施方法简介
  5. Java web—Cookie与Session对象
  6. [ASP.net]ASP.net的RUL重写
  7. OpenLayers3关于Map Export的Canvas跨域
  8. 水刀行业调研报告 - 市场现状分析与发展前景预测
  9. 微软“黑历史”:一个活了 45 年的愚蠢 Bug!
  10. 跟我学算法-pca(降维)
  11. 字符串s长度为偶数python_Python实现读取字符串按列分配后按行输出示例
  12. 多拨测试软件,openwrt一线多拨网速叠加操作(网友提供)测试速度请用的方式不要用360那些测试软件...
  13. 基于双目摄像头SGBM视差图的障碍物提取
  14. 怎么批量在多个文件夹名称后面加上数字序号或者日期时间序号?
  15. coffeescript java 执行_新的coffeescript,运行cakefile时产生ENOENT错误
  16. Android SDK 开发流程
  17. 利用python爬取复仇者联盟3无限战争豆瓣短评
  18. pacman常用命令汇总
  19. java如何比较两个date_在Java中,如何获得两个date之间的差异秒?
  20. php中单引号,php中的单引号、双引号和转义字符详解

热门文章

  1. 科学与社会 ——摘自《爱因斯坦晚年文集》
  2. 中国最牛的站长李兴平
  3. shared_ptr,weak_ptr,unique_ptr
  4. narwal机器人_Narwal云鲸智能扫拖机器人,会自己洗拖布
  5. ORACLE中的KEEP()使用方法
  6. lgg7深度详细参数_深度学习显卡参数详细对比
  7. android手机接投影仪,手机投屏到投影仪的几种方法
  8. PHP爆绝对路径方法
  9. OS课程 ucore_lab1实验报告
  10. 学习笔记 time模块练习 纪念日计算