java日期比较

42 篇文章 0 订阅
5 篇文章 0 订阅

s

import java.util.Date;
import java.util.GregorianCalendar;
import java.text.SimpleDateFormat;

//javac  -encoding utf-8  CalendarTest.java
public class CalendarTest {
	static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
	

	public static void main(String[] args) {
		if(args == null || args.length < 2){
			System.out.println("No parameters found!");
			return;
		}

		String txtDate = args[0];
		int lenth = Integer.parseInt(args[1]); 
		String txtDate2 = args[2];

		try {
			
			Date start = dateFormat.parse(txtDate);
/*
			System.out.println("The Input Date: " + dateFormat.format(start));// 20120601

			Date end = addDate(start, lenth);

			System.out.println("The Added Date: " + dateFormat.format(end));
*/

			Date current = dateFormat.parse(txtDate2);
			int ret = compareDate(start, lenth, current);
			System.out.println("ret=: "+ ret);



		} catch (Exception e) {
			System.out.println(e.getMessage());
		}


	}

	/*
	日期区间判断:
	返回值:
		-1:区间左侧
		0  :区间内
		1:区间右侧
	参数:
		start  :开始日期
		lenth  :日期长度
	    current:当前日期
	如:
	compareDate(20121001, 7, 20120929)=-1
	compareDate(20121001, 7, 20120930)=-1
	compareDate(20121001, 7, 20121001)=0
	compareDate(20121001, 7, 20121007)=0
	compareDate(20121001, 7, 20121008)=1
	compareDate(20121001, 7, 20121009)=1
	*/
	public static int compareDate(Date start, int lenth, Date current) {

		int ret1 = current.compareTo(start);
		Date end = addDate(start, lenth-1);
		int ret2 = current.compareTo(end);

		if(ret1<0) {
			return -1;
		} else if(ret2>0) {
			return 1;
		} else {
			return 0;
		}
	}


	/*
	日期加法:
	如:addDate(20121001, 7)=20121008
	如:addDate(20121031, 2)=20121102
	*/
	public static Date addDate(Date start, int lenth) {

		GregorianCalendar calendar = new GregorianCalendar();
		calendar.setTime(start);

		//System.out.println("The Input Date: " + calendar.getTime());//12345678901234
		//System.out.println("The Input Date: " + dateFormat.format(calendar.getTime()));// 20120601

		calendar.add(GregorianCalendar.DATE, lenth);

		//System.out.println("The Added Date: " + dateFormat.format(calendar.getTime()));

		return calendar.getTime();
	}



}



s




s




s

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值