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日?
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中有没有判断日期格式是不是正确的函数的主要内容,如果未能解决你的问题,请参考以下文章