您的位置:首页 > 其它

判断输入的日期字符串是否小于当前日期

2017-02-19 16:29 459 查看
有个学弟问了一道题,然后自己写了一下,对于输入的字符串是否是合法日期没有做校验,下面是判断输入日期是否小于当前日期的代码实现:

要求:当日期字符串小于当前日期,返回true;当日期字符串大于当前日期,返回false

package com.wonders;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
/**
* 日期公共处理类
* @author Liyongyong
*
*/
public class DateUtils {

/**
* 判断是否是过去的日期
* @param str输入的日期
* @return
* @return
*/
public static boolean isPastDate(String str){

boolean flag = false;
Date nowDate = new Date();
Date pastDate = null;
//格式化日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd", Locale.CHINA);
//在日期字符串非空时执行
if (str != null && !"".equals(str)) {
try {
//将字符串转为日期格式,如果此处字符串为非合法日期就会抛出异常。
pastDate = sdf.parse(str);
//调用Date里面的before方法来做判断
flag = pastDate.before(nowDate);
if (flag) {
System.out.println("该日期早于今日");
}else {
System.out.println("该日期晚于今日");
}
} catch (ParseException e) {
e.printStackTrace();
}
}else {
System.out.println("日期参数不可为空");
}
return flag;
}

public static void main(String[] args) {
System.out.print(DateUtils.isPastDate("2017/02/20"));//该日期晚于今日false
System.out.print(DateUtils.isPastDate("2017/02/10"));//该日期早于今日true
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: