JAVA 判断一个字符串是否一个合法的日期格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 判断一个字符串是否一个合法的日期格式相关的知识,希望对你有一定的参考价值。

Java为了支持多语言,没有固定的日期格式。你需要根据自己的需要指定日期格式,然后用DateFormat类或者SimpleDateFormat类来判断是否是正确的日期格式。下面的例子供参考。更详细的内容(比如yyyy,MM,dd各代表什么)可以参考javadoc。

public class DateUtil

private static final SimpleDateFormat dateFormat = null;
static

// 指定日期格式为四位年/两位月份/两位日期,注意yyyy/MM/dd区分大小写;
dateFormat = new SimpleDateFormat("yyyy/MM/dd");
// 设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期,比如2007/02/29会被接受,并转换成2007/03/01
dateFormat.setLenient(false);


public static boolean isValidDate(String s)

try

dateFormat.parse(s);
return true;

catch (Exception e)

// 如果throw java.text.ParseException或者NullPointerException,就说明格式不对
return false;



// 下面这个方法则可以将一个日期按照你指定的格式输出
public static String formatDate(Date d)

return dateFormat.format(d);


参考技术A Java为了支持多语言,没有固定的日期格式。你需要根据自己的需要指定日期格式,然后用DateFormat类或者SimpleDateFormat类来判断是否是正确的日期格式。下面的例子供参考。更详细的内容(比如yyyy,MM,dd各代表什么)可以参考javadoc。

public class DateUtil

private static final SimpleDateFormat dateFormat = null;
static

// 指定日期格式为四位年/两位月份/两位日期,注意yyyy/MM/dd区分大小写;
dateFormat = new SimpleDateFormat("yyyy/MM/dd");
// 设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期,比如2007/02/29会被接受,并转换成2007/03/01
dateFormat.setLenient(false);


public static boolean isValidDate(String s)

try

dateFormat.parse(s);
return true;

catch (Exception e)

// 如果throw java.text.ParseException或者NullPointerException,就说明格式不对
return false;



// 下面这个方法则可以将一个日期按照你指定的格式输出
public static String formatDate(Date d)

return dateFormat.format(d);


参考技术B

Java为了支持多语言,没有固定的日期格式。你需要根据自己的需要指定日期格式,然后用DateFormat类或者SimpleDateFormat类来判断是否是正确的日期格式。

下面的例子供参考。更详细的内容可以参考javadoc。

public class DateUtil

    private static final SimpleDateFormat dateFormat = null;
    static 
    
        dateFormat = new SimpleDateFormat("yyyy/MM/dd");
        dateFormat.setLenient(false);
    

    public static boolean isValidDate(String s)
    
        try
        
             dateFormat.parse(s);
             return true;
         
        catch (Exception e)
        
            return false;
        
    

    public static String formatDate(Date d)
    
        return dateFormat.format(d);
    

java判断字符串日期是否是合法的日期

/**
     * 验证字符串是否为指定日期格式
     * @param oriDateStr 待验证字符串
     * @param pattern 日期字符串格式, 例如 "yyyy-MM-dd"
     * @return 有效性结果, true 为正确, false 为错误
     */
    public static boolean dateStrIsValid(String oriDateStr, String pattern) 
    	if (StringUtils.isBlank(oriDateStr) || StringUtils.isBlank(pattern)) 
			return false;
		
    	
        SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
        
        try 
        	Date date = dateFormat.parse(oriDateStr);
            return oriDateStr.equals(dateFormat.format(date));
         catch (ParseException e) 
            return false;
        
    

以上是关于JAVA 判断一个字符串是否一个合法的日期格式的主要内容,如果未能解决你的问题,请参考以下文章

java判断字符串日期是否是合法的日期

java判断字符串日期是否是合法的日期

java中怎么做到判断输入的日期是不是合法

java判断日期是不是合法

java实现判断时间是否为合法时间

java判断是不是是日期