【问题标题】:How to validate date input of format DD-MMM-YYYY? [closed]如何验证格式 DD-MMM-YYYY 的日期输入? [关闭]
【发布时间】:2014-01-18 17:28:23
【问题描述】:

我必须检查日期是否为 DD-MMM-YYYY.e.g 格式

2010 年 1 月 1 日 // 真 2010 年 1 月 1 日 // 假 . . 其他的 //false

【问题讨论】:

标签: java validation date


【解决方案1】:

试试,

    boolean flag = true;
    String dateInString  = "01-JAN-2010";
    SimpleDateFormat sdf = new SimpleDateFormat( "dd-MMM-yyyy");
    try {
        Date d = sdf.parse(dateInString);
    } catch (ParseException e) {
        flag = false;
        e.printStackTrace();
    } finally{
        System.out.println(flag?"Success":"Failure");
    }

【讨论】:

    【解决方案2】:

    您可以使用SimpleDateFormat

    String dt = "01-JAN-2013";
    DateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
    
    try {
         df.parse(dt);
         System.out.println("true");
    } catch (ParseException e) {
         System.out.println("false");
    }
    

    【讨论】:

    • 使用此日期字符串 111-Jan-2021 检查无效
    【解决方案3】:

    试试这个:

    private List<DateFormat> acceptedFormats = Arrays.asList(
         new SimpleDateFormat("dd/MMM/yyyy");
    
    
    public boolean validate(String date) {
        for ( DateFormat fmt : acceptedFormats ) {
            try {
                fmt.parse(date);
                return true;
            } catch (ParseException e) {
                return false;
            }
        }
        return false;
    }
    

    【讨论】:

    • 成功了。谢谢。很高兴你把接受的格式列表。很容易扩展。
    猜你喜欢
    • 2018-04-30
    • 2018-02-14
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 2021-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多