java - TimeUnit Java 返回零天
问题描述
嗨想得到日期之间的天数。
以下是我尝试过的逻辑
final Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 1);
final Date endDate = cal.getTime();
final Date currentDate = new Date();
System.out.println(TimeUnit.MILLISECONDS.toDays(endDate.getTime() - currentDate.getTime()));
它总是打印 0。期望打印 1。有什么想法吗?
解决方案
一天是24*60*60*1000
毫秒。
endDate.getTime() - currentDate.getTime()
总是比那个短。
所以你应该总是在结果中加 1:
System.out.println(TimeUnit.MILLISECONDS.toDays(endDate.getTime() - currentDate.getTime()) + 1);
推荐阅读
- python - 如何使用python替换大型二维数组中存在的所有匹配数组?
- python-3.x - TypeError:“DataFrame”类型的对象不是 JSON 可序列化的
- matlab - Matlab类动态填充一个属性
- amazon-web-services - Elasticsearch 索引映射不起作用
- sql - 如何从其他两个表中插入表主键进行每个组合?
- python - ValueError: no enough values to unpack (expected 2, got 1) Odoo 11 Costum Report
- java - 条件生成器 where 子句
- sql - 将多行 SQL 响应组合成一行并重命名值
- javascript - 从元素的文本中获取数字并通过 ProtractorJS 注入 xpath 字符串
- java - Java Rsync 转义空间