java中有没有判断日期格式是不是正确的函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中有没有判断日期格式是不是正确的函数相关的知识,希望对你有一定的参考价值。

是java而不是javascript

有,如果正确函数返回一个boolean型的true;相反则返回一个false;代码如下:

public static boolean isValidDate(String sDate) 
     String datePattern1 = "\\d4-\\d2-\\d2";
     String datePattern2 = "^((\\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]))))))";
     if ((sDate != null)) 
         Pattern pattern = Pattern.compile(datePattern1);
         Matcher match = pattern.matcher(sDate);
         if (match.matches()) 
             pattern = Pattern.compile(datePattern2);
             match = pattern.matcher(sDate);
             return match.matches();
         
         else 
             return false;
         
     
     return false;

参考技术A 可以用两种方法,一种是利用正则表达式
另一种是用DateFormat来format一个String,如果出现Exception就表示日期格式不对啊
参考技术B 给你一个我自己定义的
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public static boolean isValidDate(String sDate)
String datePattern1 = "\\d4-\\d2-\\d2";
String datePattern2 = "^((\\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]))))))";
if ((sDate != null))
Pattern pattern = Pattern.compile(datePattern1);
Matcher match = pattern.matcher(sDate);
if (match.matches())
pattern = Pattern.compile(datePattern2);
match = pattern.matcher(sDate);
return match.matches();

else
return false;


return false;

格式必须为“YYYY-MM-DD” //你也可以自己定义
2004-2-30 是无效的
2003-2-29 是无效的本回答被提问者和网友采纳
参考技术C 1

vb如何判断当天是不是是指定日期

比如我一开始读取当天日期
DTPicker1.Value = Date
然后我怎么判断这个日期是不是2015年6月1日?

参考技术A Dim ThisADay As Date '声明一个日期类型变量
Dim MyToDay As Date '声明一个日期类型变量

ThisADay = #3/10/2015# '将一个指定的日期赋予一个变量
MyToDay = Now '将计算机日期赋予一个变量
MyToDay = Format(MyToDay, "YYYY/MM/DD") '将日期变量设置成指定的格式

If MyToDay = ThisADay Then
MsgBox "相同"
Else
MsgBox "不同"
End If本回答被提问者采纳

以上是关于java中有没有判断日期格式是不是正确的函数的主要内容,如果未能解决你的问题,请参考以下文章

写一段JAVA代码判断日期格式是不是正确

JS判断电话/手机的格式是不是正确

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

java导入excel时处理日期格式(已验证ok)

Java写一个函数判断一个日期是不是在本月之内

使用Java如何验证所以日期是不是正确