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

Posted

tags:

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

高手帮忙啊 ~~
急急

参考技术A 日期格式有很多种,最好自己固定格式,再用正则判断是否符合你的格式 参考技术B 正则表达式,可以写在脚本里(javascript)或者后台处理程序(java),前者好处是直接在客户端处理,但是如果遇见屏蔽脚本的用户该处理无效.后者好处的服务器处理,任何情况都会响应,但是速度照前者逊色. 参考技术C 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);


本回答被提问者采纳

java判断日期是不是合法

java判断日期是否合法,不合法以异常抛出

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)

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

参考技术A 将用户的输入接收到 String inputDate 中

DateFormat format = DateFormat.getDateInstance();
try
inputDate = format.parse(fireDate);
catch (ParseException e)
System.out.pringln("对不起,您的日期格式错误!");
参考技术B 找个日期输入插件……就不会有不合法的了…… 参考技术C import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;

public class DateTest

public static void main(String[] args)

DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
df.setLenient(false);
try
System.out.println(df.parse("2009-12-20"));
catch (ParseException e)
System.out.println("请正确输入时间!");
e.printStackTrace();



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

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

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

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

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

java判断日期是不是合法

java怎么判断输入的字符串是不是为时间格式