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 DateUtilprivate 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 判断一个字符串是否一个合法的日期格式的主要内容,如果未能解决你的问题,请参考以下文章