Java 计算两个日期相差月数、天数
package com.myjava; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar; public class MyCalendar { /**
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
System.out.println(MyCalendar.getMonthSpace("1982-12-8", "2012-12-12")); } /**
*
* @param date1 <String>
* @param date2 <String>
* @return int
* @throws ParseException
*/
public static int getMonthSpace(String date1, String date2)
throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
int result=0;
Calendar cal1 = new GregorianCalendar();
cal1.setTime(sdf.parse(date1));
cal2 = new GregorianCalendar();
cal2.setTime(sdf.parse(date2));
result =(cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR)) * 12 + cal1.get(Calendar.MONTH)- cal2.get(Calendar.MONTH);
return result==0?1 : Math.abs(result);
} }


* @param date1 <String>
* @param date2 <String>
* @return int
* @throws ParseException
*/
public int getDateSpace(String date1, String date2)
throws ParseException { int result = 0; Calendar calst = Calendar.getInstance();;
Calendar caled = Calendar.getInstance(); calst.setTime(parseDate("yyyyMMdd",date1));
caled.setTime(parseDate("yyyyMMdd",date2)); //设置时间为0时
calst.set(Calendar.HOUR_OF_DAY, 0);
calst.set(Calendar.MINUTE, 0);
calst.set(Calendar.SECOND, 0);
caled.set(Calendar.HOUR_OF_DAY, 0);
caled.set(Calendar.MINUTE, 0);
caled.set(Calendar.SECOND, 0);
//得到两个日期相差的天数
int days = ((int)(caled.getTime().getTime()/1000)-(int)(calst.getTime().getTime()/1000))/3600/24; return days;
}


public static final int daysBetween(Date early, Date late) { java.util.Calendar calst = java.util.Calendar.getInstance();
java.util.Calendar caled = java.util.Calendar.getInstance();
calst.setTime(early);
caled.setTime(late);
//设置时间为0时
calst.set(java.util.Calendar.HOUR_OF_DAY, 0);
calst.set(java.util.Calendar.MINUTE, 0);
calst.set(java.util.Calendar.SECOND, 0);
caled.set(java.util.Calendar.HOUR_OF_DAY, 0);
caled.set(java.util.Calendar.MINUTE, 0);
caled.set(java.util.Calendar.SECOND, 0);
//得到两个日期相差的天数
int days = ((int) (caled.getTime().getTime() / 1000) - (int) (calst
.getTime().getTime() / 1000)) / 3600 / 24; return days;
} public static void main(String[] args)
{
Date earlydate = new Date();
Date latedate = new Date();
DateFormat df = DateFormat.getDateInstance();
try {
earlydate = df.parse("2009-09-21");
latedate = df.parse("2009-10-16");
} catch (ParseException e) {
e.printStackTrace();
}
int days = daysBetween(earlydate,latedate);
System.out.println(days);
}
Java 计算两个日期相差月数、天数的更多相关文章
- Java 计算两个日期相差月数
package com.myjava; import java.text.ParseException;import java.text.SimpleDateFormat;import java.ut ...
- java计算两个日期相差多少天
java计算两个日期相差多少天 public class DateUtil{ public static int betweenDays(Date startDate, Date endDate ) ...
- Java 计算两个日期相差的天数
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...
- Java计算两个日期相差的天数
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...
- java计算两个日期之间相隔的天数
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...
- java计算两个日期之间的相隔天数
[原创] 之前在很多竞赛的题目中有这样饿一类题,计算给定两个日期之间的相隔天数,或者很多类似的题目,都是需要转化到这个问题上时,之前用c++写的时候思想是这样的,一个结构体,包括年月日,还有一个计算下 ...
- java计算两个日期相差多少天小时分钟等
1.时间转换 data默认有toString() 输出格林威治时间,比如说Date date = new Date(); String toStr = date.toString(); 输出的结果类似 ...
- python 计算两个日期相差多少个月
近期,由于业务需要计算两个日期之前相差多少个月.我在网上找了很久,结果发现万能的python,居然没有一个模块计算两个日期的月数,像Java.C#之类的高级语言,都会有(date1-date2).mo ...
- MySQL计算两个日期相差的天数、月数、年数
MySQL自带的日期函数TIMESTAMPDIFF计算两个日期相差的秒数.分钟数.小时数.天数.周数.季度数.月数.年数,当前日期增加或者减少一天.一周等等. SELECT TIMESTAMPDIFF ...
随机推荐
- 27 python 初学(信号量、条件变量、同步条件、队列)
参考博客: www.cnblogs.com/yuanchenqi/articles/5733873.html semaphore 信号量: condition 条件变量: event 同步条件:条件 ...
- odoo中各视图写法
透视图: 还需要将一个pivot表添加到要待办任务(To-Do Tasks)中,请使用以下代码: <record id="view_pivot_todo_task" mode ...
- SpringCloud(10)使用Spring Cloud OAuth2和JWT保护微服务
采用Spring Security AOuth2 和 JWT 的方式,避免每次请求都需要远程调度 Uaa 服务.采用Spring Security OAuth2 和 JWT 的方式,Uaa 服务只验证 ...
- 区块链代币(Token)笔记 — — 术语
前言 接触区块链和数字货币差不多有大半年时间,一直在赶项目进度,现在有空整理补习一下相关的知识,只谈代币不谈区块链
- PS外挂滤镜调出清晰对比照片
最终效果 一.打开原图. 二.我们使用类似第一部分的相同方法,但设置上略有不同,我们将光线放在不同的地方.复制底层,执行滤镜-LUCIS ART水彩滤镜-LUCISART 选择 雕刻 设置参数为25. ...
- OracleSql语句学习(二)
--DQL语句--查询语句用来检查数据使用--SELECT子句用来指定要查询的字段,若写“*”则表示查询所有字段.FROM子句用来指定数据来源的表.--SELECT * FROM emp_weiyij ...
- jmeter学习记录--08--第三方测试组件
我们安装的JMeter版本,功能仍然有欠缺,插件是一种补充,官方提供了很多插件. 官网地址:http://www.jmeter-plugins.org/, 里面有很多可以安装到JMeter的插件,基本 ...
- idea的一些好用的第三方插件
用了Idea真的回不去Eclipse了,安利一波. 这里记录一些好用的插件. GenerateAllSetter 这个插件是用在写代码的时候调用Setter的时候能一次性把实体类中的所有Setter方 ...
- 第四章· Redis的事务、锁及管理命令
一.事务介绍 二.Redis乐观锁介绍 三.Redis管理命令 一.事务介绍 Redis的事务与关系型数据库中的事务区别 1)在MySQL中讲过的事务,具有A.C.I.D四个特性 Atomic(原子性 ...
- Python——日志模块(logging)
一.日志说明 日志是跟踪软件运行时所发生的事件的一种方法.软件开发者在代码中调用日志函数,表明发生了特定的事件.事件由描述性消息描述,该描述性消息可以可选地包含可变数据(即,对于事件的每次出现都潜在地 ...