Notice: 函数 WP_Scripts::localize 的调用方法不正确$l10n 参数必须是一个数组。若要将任意数据传递给脚本,请改用 wp_add_inline_script() 函数。 请查阅调试 WordPress来获取更多信息。 (这个消息是在 5.7.0 版本添加的。) in /data/www/appblog/wp-includes/functions.php on line 6131

Java判断字符串是否为日期格式

纯正则判断

/**
 * 功能:判断字符串是否为日期格式
 *
 * @param strDate
 * @return
 */
public static boolean isDate(String strDate) {
    Pattern pattern = Pattern.compile("^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\\s((([0-1]?[0-9])|(2?[0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$");
    Matcher m = pattern.matcher(strDate);
    if (m.matches()) {
        return true;
    } else {
        return false;
    }
}
System.out.println(isDate("2013-05-01"));  //true
System.out.println(isDate("1900-05-01"));  //true
System.out.println(isDate("20130501"));  //true
System.out.println(isDate("2013/5/1"));  //true
System.out.println(isDate("15/5/1"));  //false
System.out.println(isDate("05/01"));  //false
System.out.println(isDate("2013/6/31"));  //false

正则与SimpleDateFormat结合

public static boolean isDate(String strDate) {
    String regex = "[0-9]{4}-[0-9]{2}-[0-9]{2}";
    Pattern pattern = Pattern.compile(regex);
    Matcher m = pattern.matcher(strDate);
    boolean dateFlag = m.matches();
    if (!dateFlag) {
        return false;
    }
    DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
    //设置lenient为false,否则SimpleDateFormat会比较宽松地验证日期,比如2007/02/29会被接受,并转换成2007/03/01
    formatter.setLenient(false); //默认值true,不严格解析日期,会自动计算
    try {
        Date date = formatter.parse(strDate);
        log.info(date);
        return true;
    } catch (Exception e) {
        log.error(e);
    }
    return false;
}
上一篇 BigDecimal保留小数位
下一篇 Jackson实体为NULL或者为空不显示