java日期间相隔年月日计算
/**
* 获取date1相距date2多少天, date2>date1
* @param date1
* @param date2
* @return
* @throws ParseException
*/
public static int getDaysSpace(String date1,String date2){
Calendar cal = Calendar.getInstance();
cal.setTime(getDate(date1, "yyyyMMdd"));
long time1 = cal.getTimeInMillis();
cal.setTime(getDate(date2, "yyyyMMdd"));
long time2 = cal.getTimeInMillis();
long between_days=(time2-time1)/(1000*3600*24);
return Integer.parseInt(String.valueOf(between_days));
}
/**
* 获取date1相距date2几个月, date2>date1
* @param date1
* @param date2
* @return
* @throws ParseException
*/
public static float getMonthSpace(String date1, String date2){
float result = 0;
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(getDate(date1, "yyyyMMdd"));
c2.setTime(getDate(date2, "yyyyMMdd"));
if(c2.get(Calendar.DATE) - c1.get(Calendar.DATE) >= 0){
result = (c2.get(Calendar.YEAR) - c1.get(Calendar.YEAR)) * 12.0f + (c2.get(Calendar.MONTH) - c1.get(Calendar.MONTH)) + (c2.get(Calendar.DATE) - c1.get(Calendar.DATE))/30.0f;
}else{
result = (c2.get(Calendar.YEAR) - c1.get(Calendar.YEAR)) * 12.0f + (c2.get(Calendar.MONTH) - c1.get(Calendar.MONTH)) - 1.0f + (c2.get(Calendar.DATE) - c1.get(Calendar.DATE))/30.0f;
}
DecimalFormat df = new DecimalFormat("0.00");
return Float.parseFloat(df.format(result));
}
/**
* 获取date1相距date2几年, date2>date1
* @param date1
* @param date2
* @return
* @throws ParseException
*/
public static float getYearSpace(String date1, String date2) {
DecimalFormat df = new DecimalFormat("0.00");
return Float.parseFloat(df.format(getMonthSpace(date1, date2)/12.0f));
}
java日期间相隔年月日计算的更多相关文章
- Java 两个日期间的天数计算
在Java中计算两个日期间的天数,大致有2种方法:一是使用原生JDK进行计算,在JDK8中提供了更为直接和完善的方法:二是使用第三方库. 1.使用原生的JDK private static long ...
- [C语言]日期间天数差值的计算
刷一些算法题时总能遇到计算日期间天数的问题,每每遇到这种情况,不是打开excel就是用系统自带的计算器.私以为这种问题及其简单以至于不需要自己动脑子,只要会调用工具就好.直到近些天在写一个日历程序的时 ...
- Oracle计算两天两个日期间相差的天数
Oracle计算两天两个日期间相差的天数: select to_date('19930411','yyyymmdd')-to_date('19890507','yyyymmdd') from dual ...
- [Xcode 实际操作]九、实用进阶-(4)计算两个日期间的差值
目录:[Swift]Xcode实际操作 本文将演示如何计算两个日期之间的差值. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit class ...
- Java 获取日期间的日期 & 根据日期获取星期
场景:根据起止日期获取中间的日期: 根据日期获取当前日期的星期 根据日期日期获取日期 /** * 获取日期间日期 * @param start * @param end * @return */ pr ...
- Java中的Double类型计算
一.问题的提出: 如果我们编译运行下面这个程序会看到什么?public class Test{ public static void main(String args[]){ Sy ...
- MySql获取两个日期间的时间差
[1]MySql 语言获取两个日期间的时间差 DATEDIFF 函数可以获得两个日期之间的时间差.但是,这个函数得出的结果是天数. 需要直接获取秒数可使用TIMESTAMPDIFF函数.应用示例如下: ...
- 浅谈Java两种并发类型——计算密集型与IO密集型
转载:https://blog.csdn.net/u013070853/article/details/49304099 核心是可以分别独立运行程序指令的计算单元.线程是操作系统能够进行运算调度的最小 ...
- JS循环解决任意日期间的间隔天数
用JS循环解决任意日期间的间隔天数,并求截止日期是周几 y1=1900 m1=1 d1=1 y2=2000 m2=5 d2=3 days=0 ydays=0 mdays=0 ddays=d2-d1 f ...
随机推荐
- 洛谷P3469[POI2008]BLO-Blockade
题目 割点模板题. 可以将图中的所有点分成两部分,一部分是去掉之后不影响图的连通性的点,一部分是去掉之后影响连通性的点,称其为割点. 然后分两种情况讨论,如果该点不是割点,则最终结果直接加上2*(n- ...
- Windows 上连接本地 Linux虚拟机上的 mysql 数据库
查看本机ip ifconfig 查看当前的 3306 端口状态 netstat -an|grep 3306 当前是外部无法连接状态 修改访问权限 默认的 mysql 是只能本机连接, 因此需要修改配 ...
- django csrftoken
CSRF(跨站请求伪造) 背景知识:浏览器在发送请求的时候,会自动带上当前域名对应的cookie内容,发送给服务端,不管这个请求是来源A网站还是其它网站,只要请求的是A网站的链接,就会带上A网站的co ...
- jira,Confluence 的JVM内存优化
个人喜好,可能不是很适合大众 JIRA 修改setenv.sh,调整JVM为4096m [root@jira_confluence ~]# cd /app/atlassian/jira/bin/ [r ...
- ref、out参数
ref和out都是表示按引用传递.与指针类似,直接指向同一内存. 按值传递参数的方法永远不可能改变方法外的变量,需要改变方法外的变量就必须按引用传递参数. 传递参数的方法,在C语言里,用指针.在C#里 ...
- ECS集群管理docker
1. create ECR Repositories on AWS a. local server need install git/docker/awscli b. config aws: use ...
- vue路由信息对象
一个路由信息对象表示当前激活的路由的状态信息,每次成功的导航后都会产生一个新的对象. path字符串,对应当前路由的路径 params对象,包含动态路由参数 query对象,URL查询参数 hash字 ...
- 《Unbroken》
<Unbroken> 献给正在奋力向前的你 You can’t connect the dots looking forward, you can only connect them lo ...
- H5_0007:使用base64做为背景图片
page { overflow:hidden; position:fixed; /* background-image:url('http://p0d5ombx1.bkt.clouddn.com/lo ...
- PMP知识点(六)——项目经理权利类型
社会心理学家约翰.弗伦奇(John.French)和伯特伦.雷文(Bertram.Raven)在他们1959年发表的一篇迄今不朽的论文中,提出了五种权力类别的模型,这个模型折射出权力拥有者依赖的不同基 ...