java中怎么验证日期格式,要各种日期格式都能验证,代码比较简单的。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中怎么验证日期格式,要各种日期格式都能验证,代码比较简单的。相关的知识,希望对你有一定的参考价值。
参考技术A 用正则表达式,你百度:正则表达式 日期。 参考技术B jquery 很简单。 参考技术C import java.text.DateFormat;import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DateTimeCheck
/**
* 验证日期时间格式
* @param args
*/
public static void main(String[] args)
String checkValue = "2008-09-11 14:17:11";
DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd HH:mm:ss");
Date d = null;
if(checkValue != null && !checkValue.equals(""))
if(checkValue.split("/").length > 1)
dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
if (checkValue.split("-").length > 1)
dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
else
return;
try
d = dateFormat.parse(checkValue);
System.out.println(d);
catch(Exception e)
System.out.println("格式错误");
return;
String eL= "^((\\d2(([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])))))|(\\d2(([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?[0-9])|([1-2][0-9]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$";
Pattern p = Pattern.compile(eL);
Matcher m = p.matcher(checkValue);
boolean b = m.matches();
if(b)
System.out.println("格式正确");
else
System.out.println("格式错误");
本回答被提问者和网友采纳
使用SimpleDateFormat验证日期格式
Java中日期格式的验证有很多方式,这里介绍用 java.text.SimpleDateFormat 来实现时间验证的一种简单方式。首先我们要知道 SimpleDateFormat 对象有一个方法 void setLenient(boolean lenient) ,此方法传入一个Boolean值,表示是否是宽松的验证。当传入false时候表示验证是严格的。利用这一点我们就可以简单实现一个严格的时间格式验证。实现代码如下:
public static boolean validDateTimeSimple(String dateTime) { if(dateTime == null ) { return false; } DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); df.setLenient(false);//表示严格验证 try { df.parse(dateTime); } catch (ParseException e) { return false; } return true; }
这种方式其实也是有弊端的,当dateTime字符串中间包含多余的空格的时候这种方式是无法辨别出来的,所以使用的时候需要注意。
以上是关于java中怎么验证日期格式,要各种日期格式都能验证,代码比较简单的。的主要内容,如果未能解决你的问题,请参考以下文章