zoukankan      html  css  js  c++  java
  • Java如何检查日期格式是否正确?

    在Java编程中,如何检查日期格式是否正确?

    以下示例演示如何使用String类的matches()方法检查日期格式是否正确。

    package com.yiibai;
    
    public class CheckDateFormat {
        public static void main(String[] argv) {
            boolean isDate = false;
            String date1 = "9-15-1998";
            String date2 = "1997-08-16";
            String datePattern = "\d{4}-\d{1,2}-\d{1,2}";
    
            isDate = date1.matches(datePattern);
            System.out.println("Date :" + date1 + ": matches with the this date Pattern:" + datePattern + "Ans:" + isDate);
    
            isDate = date2.matches(datePattern);
            System.out.println("Date :" + date2 + ": matches with the this date Pattern:" + datePattern + "Ans:" + isDate);
        }
    }
    
    Java

    上述代码示例将产生以下结果 -

    Date :8-05-1998: matches with the this date Pattern:d{4}-d{1,2}-d{1,2}Ans:false
    Date :1997-08-16: matches with the this date Pattern:d{4}-d{1,2}-d{1,2}Ans:true
    
    Shell

    示例-2

    以下是检查日期是否正确格式的另一个示例。

    package com.yiibai;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class CheckDateFormat2 {
        public static void main(String args[]) {
            List dates = new ArrayList();
            dates.add("1990-12-21");
            dates.add("1990-12-31");
            dates.add("1990-12-32");
            dates.add("09-12-12");
            dates.add("2001-02-10");
            String regex = "^([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|[12][0-9]|0[1-9])$";
            Pattern pattern = Pattern.compile(regex);
    
            for (Object date : dates) {
                Matcher matcher = pattern.matcher((CharSequence) date);
                System.out.println(date + " : " + matcher.matches());
            }
        }
    }
    
    Java

    上述代码示例将产生以下结果 -

    1990-12-21 : true
    1990-12-31 : true
    1990-12-32 : false
    09-12-12 : false
    2001-02-10 : true
    

     

  • 相关阅读:
    java内存管理之内存模型
    HTTP协议
    12 数值的整数次方
    11 二进制中1的个数+二进制补充知识点
    10 矩形覆盖
    9 变态跳台阶
    8 跳台阶
    7斐波那契数列
    6旋转数组的最小数字
    5用两个栈实现队列
  • 原文地址:https://www.cnblogs.com/borter/p/9617157.html
Copyright © 2011-2022 走看看