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

来源:互联网 发布:如何找pdf 知乎 编辑:程序博客网 时间:2024/05/16 14:26

有个学弟问了一道题,然后自己写了一下,对于输入的字符串是否是合法日期没有做校验,下面是判断输入日期是否小于当前日期的代码实现:
要求:当日期字符串小于当前日期,返回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    }}
0 0
原创粉丝点击