日期

原创 2013年12月05日 11:40:44

Calendar

 

DAY_OF_YEAR

Field number for get and set indicating the day number within the current year.  The first day of the year has value 1.

每个月的第一天用1表示

 

MONTH

Field number for get and set indicating the month. This is a calendar-specific value. The first month of the year in the Gregorian and Julian calendars is JANUARY which is 0; the last depends on the number of months in a year

月份的第一个用0表示,即一月份是用0表示

 

下面有两种方式计算两个日期之间的天数只差

package com.robert.Date;

import java.util.Calendar;

public class DateUtils {

	public static void main(String[] args) {
		Calendar calendar1 = Calendar.getInstance();
		calendar1.set(2013, 9, 8);
		Calendar calendar2 = Calendar.getInstance();
		calendar2.set(2010, 8, 16);
		System.out.println(getDays(calendar1, calendar2));
		System.out.println(getDays2(calendar1,calendar2));
	}

	/**
	 * 取得两个日期之间得天数
	 * @param date1	 前面的日期
	 * @param date2	 后面的日期
	 * @return
	 */
	public static int getDays(Calendar date1, Calendar date2) {
		int y1 = date1.get(Calendar.YEAR);
		int y2 = date2.get(Calendar.YEAR);
		int d1 = date1.get(Calendar.DAY_OF_YEAR);
		int d2 = date2.get(Calendar.DAY_OF_YEAR);
		return (y1-y2)*365+(d1 - d2);
	}
	
	/**
	 * 通过获取毫秒来计算天数之差
	 * @param date1
	 * @param date2
	 * @return
	 */
	public static long getDays2(Calendar date1,Calendar date2){
		long time1 = date1.getTimeInMillis();
		long time2 = date2.getTimeInMillis();
		long diff = time1 - time2;
		long days = diff/(24*60*60*1000);
		return days;
	}
}

方式一的输出结果为:1117

方式二的输出结果为:1118

 

发现第一种方式错误!

有的年份是瑞年,所以出现了不同的结果,上述给出的日期区间内2012年为闰年。

 

 


 

 

 

 

 

 

相关文章推荐

日期维度生成语句

  • 2017年11月17日 11:21
  • 5KB
  • 下载

VB农历日期控件

  • 2017年11月12日 10:10
  • 39KB
  • 下载

详解Java8特性之新的日期时间 API

吐槽Java 8 提供了一套新的日期时间 API,为什么要这么干呢。因在旧版的 Java 中,日期时间 API 存在很多问题,比如说线程安全问题了, java.util.Date 是非线程安全的,所有...

日期控件DTPicker

  • 2017年11月12日 10:19
  • 11KB
  • 下载

解决:sql server 中date类型,检索出该类型发现日期被减少了两天

遇到的问题: 以前在使用sqlserver的时候一般日期类型我会选择使用datetime类型,最近有个项目中使用了date类型,我在数据库插入的日期是1994-07-08结果检索出来的结果是1994-...

日期工具类

  • 2016年09月03日 20:19
  • 22KB
  • 下载

js 字符串与数值相互转换,以及时间戳转换成日期形式字符串方法

今天做项目要将多对象数组列表中的内容用对话框显示,这样就想到用循环,其中包含日期类型。有点复杂,搞了半天终于弄出来了。在这里总结下,作为学习笔记。 1.循环显示内容,将时间类型值用span包含,...

微信开发日期控件

  • 2016年08月31日 18:08
  • 522KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:日期
举报原因:
原因补充:

(最多只允许输入30个字)