用Date计算日期相差多少天
一、需求
在网上看到用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计算日期相差多少天相关推荐
- java 计算日期相差天数_Java 计算两个日期相差的天数
当我们需要计算两个日期相差的天数怎么办呢,今天我们就来用 Java 比较两个日期相差的天数,最简单的方法,直接上代码: 第一种,Date类型计算public static int differentD ...
- 通过Date函数制作倒计时程序,计算日期相差时间!
直接上代码: 禁止盗用: <!DOCTYPE html> <html lang="en"> <head><meta charset=&qu ...
- java 计算日期相差天数_JAVA计算两个日期之间相差的天数
这是本人第一次写博客,主要计算两个日期之间相差的天数 import java.text.ParseException; import java.util.Date; import org.apache ...
- oracle计算两个日期相隔月数,计算日期相差
Java_Date_01_判断两个时间相差的天数 二.参考资料 1.java 判断两个时间相差的天数 2.java计算两个日期之间相差天数和相隔天数详解 文章 rayner 2018-01-04 92 ...
- c/c++ 输入两个日期,计算日期相差多少天
1,题目: 有两个日期,计算它们之间的差值,如果两个日期是连续的,则按照2天算. 日期格式规定为YYYYMMDD,例如20200709 2,基本思路 (1)输入两个日期 (2)以小的日期为底,每次加一 ...
- 不同Unix环境下date计算日期的用法
转自:http://blog.rootshell.be/2006/05/04/solaris-yesterday-date/ Solaris & yesterday date? The GNU ...
- 日期计算excel_在Excel中计算日期范围内的项目
日期计算excel If you have a list on your Excel worksheet, and a date in each row, you can use a formula ...
- JavaScript计算两个日期相差天数/分钟/小时
/*** 日期相减获取天数(用于公式计算)* @param date1 日期一 例如:"{'value':'2020-06-05','date_format':'yyyy-MM-dd'}&q ...
- LocalDate日期相差天数; 当前日期加一天或减一天
LocalDate.toEpochDay相减计算两个日期相差天数. public static void main(String[] args) {LocalDate date1 = LocalDat ...
最新文章
- 如何修复网站漏洞Discuz被挂马 快照被劫持跳转该如何处理
- mkdir创建递归目录
- 速读《构建之法:现代软件工程》提问
- 【MM模块】ASAP 项目实施方法简介
- Java web—Cookie与Session对象
- [ASP.net]ASP.net的RUL重写
- OpenLayers3关于Map Export的Canvas跨域
- 水刀行业调研报告 - 市场现状分析与发展前景预测
- 微软“黑历史”:一个活了 45 年的愚蠢 Bug!
- 跟我学算法-pca(降维)
- 字符串s长度为偶数python_Python实现读取字符串按列分配后按行输出示例
- 多拨测试软件,openwrt一线多拨网速叠加操作(网友提供)测试速度请用的方式不要用360那些测试软件...
- 基于双目摄像头SGBM视差图的障碍物提取
- 怎么批量在多个文件夹名称后面加上数字序号或者日期时间序号?
- coffeescript java 执行_新的coffeescript,运行cakefile时产生ENOENT错误
- Android SDK 开发流程
- 利用python爬取复仇者联盟3无限战争豆瓣短评
- pacman常用命令汇总
- java如何比较两个date_在Java中,如何获得两个date之间的差异秒?
- php中单引号,php中的单引号、双引号和转义字符详解