日期

原创 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年为闰年。

 

 


 

 

 

 

 

 

在论坛中出现的比较难的sql问题:39(动态行转列 动态日期列问题)

最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了。 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路。 ...
  • yupeigu
  • yupeigu
  • 2016年01月13日 14:32
  • 1537

Sql 查询当天日期,查询当月日期,查询当年日期

数据查询,不管在网站还是在系统,都很常见,下文是介绍最常见的以日期查询的语句 select * from ShopOrder where datediff(week,ordTime,getdate(...
  • u011004053
  • u011004053
  • 2014年09月19日 18:04
  • 5505

在SQL中,有各种各样的日期时间格式,保存一份 Convert Date

1.获取系统当前时间 select getdate(); select convert(varchar(10),getdate(),120)SELECT CONVERT(DATETIME,GETD...
  • cherish1forever
  • cherish1forever
  • 2015年10月10日 12:04
  • 8857

1.提供菜单方式选择月日, 2.输入年份、月份、日期,计算得到的是这一天据今天有多少天,星期几;

  • 2018年01月11日 14:46
  • 15KB
  • 下载

日期工具类

  • 2018年01月15日 18:20
  • 10KB
  • 下载

sql格式化日期

  • 2018年01月16日 10:22
  • 7KB
  • 下载

移动端日期时间选择器

  • 2018年01月08日 17:56
  • 48KB
  • 下载

判断系统一件找日期教程-公开版

  • 2018年01月05日 14:31
  • 6.32MB
  • 下载

海信625S625S升级日期2014.9.29.rar

  • 2014年10月03日 19:27
  • 745KB
  • 下载

日期工具类

  • 2014年08月14日 10:47
  • 4KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:日期
举报原因:
原因补充:

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