技术标签: date java java获取两个日期之间的间隔天数 java获取时间间隔
/** * 计算两个日期之间相差的天数 */ public int BetweenDays(String startDate,String endDate){ startDate = startDate + " 00:00:00"; endDate = endDate + " 00:00:00"; // 获取日期 Date date1 = MyDateUtil.parseDate(startDate, "yyyy-MM-dd HH:mm:ss"); Date date2 = MyDateUtil.parseDate(endDate, "yyyy-MM-dd HH:mm:ss"); // 获取相差的天数 Calendar calendar = Calendar.getInstance(); calendar.setTime(date1); long timeInMillis1 = calendar.getTimeInMillis(); calendar.setTime(date2); long timeInMillis2 = calendar.getTimeInMillis(); long betweenDays = (timeInMillis2 - timeInMillis1) / (1000L*3600L*24L); return (int) betweenDays; }
/** * 获取两个日期之间的所有日期(这个方法中用到了上面BetweenDays方法) * @param startDate * @param endDate * @return */ public ArrayList<String> handleDays(String startDate,String endDate){ ArrayList<String> datelist = new ArrayList<>(); endDate = endDate + " 00:00:00"; Date date = MyDateUtil.parseDate(endDate, "yyyy-MM-dd HH:mm:ss"); //用到上面的方法,这里的是通过BetweenDays方法获取输入的两个日期来获取日期之间相差的天数 //这个可以根据自己需要来写,比如想获取一周的就直接写int days =7; int days = this.BetweenDays(startDate,endDate); Calendar calendar = Calendar.getInstance(); for(int i=0;i<=days;i++) { //这里的date是我输入的两个时间间隔的结束时间;如果你想获取当前时间的前一周的话,你就可以把date换成Date date = new Date(); calendar.setTime(date); calendar.add(Calendar.DATE, -i); Date d = calendar.getTime(); String day = MyDateUtil.dateFormate(d, "yyyy-MM-dd HH:mm:ss").substring(0,10); datelist.add(day); } return datelist; }
//日期格式化的工具类
public class MyDateUtil { /** * 将指定的日期字符串转换成日期 * @param dateStr 日期字符串 * @param pattern 格式 * @return 日期对象 */ public static Date parseDate(String dateStr, String pattern) { SimpleDateFormat sdf = new SimpleDateFormat(pattern); Date date; try { date = sdf.parse(dateStr); } catch (ParseException e) { throw new RuntimeException("日期转化错误"); } return date; } /** * 将指定的日期格式化成指定的日期字符串 * @param date 日期对象 * @param pattern 格式 * @return 格式化后的日期字符串 */ public static String dateFormate(Date date, String pattern) { SimpleDateFormat sdf = new SimpleDateFormat(pattern); String dateStr; if(date == null) { return ""; } dateStr = sdf.format(date); return dateStr; } /** * 查询指定日期前后指定的天数 * @param date 日期对象 * @param days 天数 * @return 日期对象 */ public static Date incr(Date date, int days) { if (date == null){ return null; } Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(Calendar.DAY_OF_MONTH, days); return calendar.getTime(); } /** * 将LocalDate日期转化成Date * @param localDate LocalDate对象 * @return Date对象 */ public static Date localDateToDate(LocalDate localDate) { if (localDate == null) { return null; } ZoneId zoneId = ZoneId.systemDefault(); ZonedDateTime zonedDateTime = localDate.atStartOfDay(zoneId); Date date = Date.from(zonedDateTime.toInstant()); return date; } /** * 将Date转成LocalDate对象 * @param date Date对象 * @return LocalDate对象 */ public static LocalDate dateToLocalDate(Date date) { if (date == null) { return null; } ZoneId zoneId = ZoneId.systemDefault(); Instant instant = date.toInstant(); LocalDate localDate = instant.atZone(zoneId).toLocalDate(); return localDate; } }
文章浏览阅读9.1k次,点赞4次,收藏4次。这个问题是我在配置QQ第三方登陆时遇到的,QQ第三方登陆如果上传正式发布包到腾讯应用宝,也就是正式版的签名,测试三方登陆时也只能用正式签名测试,对于开发者来说,实在太痛苦了,因为开发者做测试都是运行起来都是在debug模式下,签名也是debug模式下的签名。腾讯开放平台有一个应用调试者QQ号测试,不知道是不是填写了开发者的QQ号之后就可以用正式版的签名做第三方登陆测试了,每次我点击添加,结果就这样_android debug使用release的签名
文章浏览阅读1.9k次,点赞2次,收藏12次。内核中分配内存基本都基于伙伴系统,但是在内核启动之初,伙伴系统尚未建立,这时需要一个临时的内存分配器负责提供内核早期的内存需求,例如存放内核的代码段和数据段,以及将内存进行简单的管理供后续伙伴系统使用,这就是bootmem分配器。本文基于Linux 2.6.31的内核源码对bootmem分配器的工作过程进行分析。_linux bootmem
文章浏览阅读1.6k次。jetson nano 部署yolov5s一、配置系统(列出来了步骤,详细内容网上很多)下载系统SD卡格式化把下载的系统烧录进SD卡插卡开机,进行一些初始化设计我的系统是ubuntu 18.4 cuda 10.2 python是nano自带的3.6二、使用官网的镜像,没有更换源,配置环境1.更新系统和包sudo apt-get updatesudo apt-get upgrade或sudo apt-get full-upgrade可能报错:nvidia-l4t-bootloa_nvzramconfig.sh文件
文章浏览阅读275次。sun.misc.BASE64Encoder/BASE64Decoder类。这人个类是sun公司的内部方法,并没有在java api中公开过,不属于JDK标准库范畴,但在JDK中包含了该类,可以直接使用。但是在eclipse和MyEclipse中直接使用,却找不到该类。 可以使用如下方法:选中项目-》右键properties--》java bulid path----》libraries..._sun.misc.base64encoder eclipse 找不到
文章浏览阅读2.5k次。之前用eclipse写web项目,最近转到IDEA开发,在创建IDEA上第一个Maven的web项目时就遇到了不小的麻烦,在这里记录一下。1、关于tomcat无法启动的问题在创建好一个web项目想要把它运行起来的时候,报了如下错误,我使用的是tomcat7网上找遍解决办法未果,于是更换了tomcat9在官网下载了tomcat9的压缩包,解压后将其添加到IDEA中:打开Run/Deb..._idea2023启动tomcat9一直开在manager项目
文章浏览阅读1.7k次。伪类实现的鼠标悬停效果,直接上代码:HTML部分:<!DOCTYPE html><html><head><!--系统内置 start--><script type="text/javascript" src="//qgt-style.oss-cn-hangzhou.aliyuncs.com/commonJSCSS/console.js"></script><!--系统内置 end--> <meta_css button 伪类 鼠标离开后样式不丢失
文章浏览阅读460次。我来csdn已经好几年了,最初只是查查东西,毕竟那时候还没转编程。 几个月前,开始尝试写点东西,回答点问题,也坚持每天打卡,毕竟是上班族,不是长时间留在csdn。最终获得了3000+粉丝,也有点小小的收益。 每天签到的同时,有少量的money,原力是正的,还能加倍。不过前阵子想弄bdd到微信头像,结果审核没通过,扣了近200分,我能理解。 不过今天也是负的,就很奇怪,可能我没读懂xsdn增长规则。最近一段时间,工作比较忙,没时间逛csdn,所以没写文章,也没答题,所以最近原力增..._csdn发布了文章 原力值没增加
文章浏览阅读1.8k次。 可以说是看了这篇文章《保证你现在和未来不失业的十种关键技术》[作者/iamsohappy],才注意到Regular Expressions原来是这么的重要。我这里没有加该文章的超级链接,因为到处都有,我也找不到其原始出处。当一篇文章被转载时,注明原始来源应该成为我们的习惯,既表示对作者的尊重,也是对自己的尊重。这里是一段作为我以后所有咚咚的版权声明*公告。1、十种关键技术
文章浏览阅读602次。一.检查和安装与Perl相关的模块PT工具是使用Perl语言编写和执行的,所以需要系统中有Perl环境。依赖包检查命令为:# rpm -qa perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL如果有依赖包缺少,可以使用下面的命令安装:# yum install perl-DBI# yum install perl-DBD-MySQL# yum install perl-Time-HiRes# yum in._linux opt/rpatoolkit
文章浏览阅读2.9k次。法一:使用ncnc -z <host> <port>使用nc -z +IP或域名+端口检查目标主机端口是否开启,返回0则表示开启,返回1则表示未开启。当然,为了更快的检测目标端口的状态,可以使用-w参数指定超时时间。(下方示例设置的超时时间为5秒)nc -z -v -w5 <host> <port>$ nc -v -z -w ..._nc -z -w5
文章浏览阅读272次。(Java)Math里面的ceil.floor和round的方法区别: Java中.Math里面的ceil,floor,和round的区别在于:ceil:中文的意思是天花板,意思就是向上取值,就是数学里面的进一法;返回的类型是:双精度浮点型double;例如:Math.ceil(11.0000001);其结果等于12.0;对于负数来说可以这样理解:取整:Math.ceil(-11.9999..._java round函数和ceil函数的区别
文章浏览阅读4.7k次,点赞2次,收藏8次。1 什么是 HTML? 需求:(生活中遇到问题) 随着技术的发展,信息量的增大网页的数据信息没有办法完美的、漂亮的展现到用户的面前。 意义:(作用): HTML是一种专门对网页信息进行规范化展示的语言。把网页的信息格式化展现的语言 HTML(Hyper Text Markup Language):超文本标记语言超文本:文本信息 、图片、声音、视频、超链接等 标记:标签的..._主要内容标签