How to Validate Date Against multiple patterns format in Java?(如何在Java中针对多模式格式验证日期?)
本文介绍了如何在Java中针对多模式格式验证日期?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的问题不是"怎么做",我的问题是涉及的角落案件。以下是我的代码和测试用例。
package datetest.com;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class MultipleDateParserFormat {
private final static String[] PossibleDateFormat=new String[]{
"MM/dd/yyyy",
"MM.dd.yyyy",
"MM-dd-yyyy",
"yyyy/MM/dd",
"yyyy.MM.dd",
"yyyy-MM-dd",
"dd/MM/yyyy",
"dd.MM.yyyy",
"dd-MM-yyyy"
};
public MultipleDateParserFormat(){};
public void checkParseDate(String passedDate){
int PossibleDateFormatLength=PossibleDateFormat.length;
for(int i=0;i<PossibleDateFormatLength;i++){
try {
SimpleDateFormat simpleDateFormant=new SimpleDateFormat(PossibleDateFormat[i]);
simpleDateFormant.setLenient(false);
java.util.Date date= simpleDateFormant.parse(passedDate);
System.out.println(date);
} catch (ParseException e) {
System.out.println("Parse Exception Occured for your input Value"+passedDate + "for format" + PossibleDateFormat[i]);
}
}
}
public static void main(String...strings){
String passedDate="4-03-1992";// This test case is validating against two Pattern
MultipleDateParserFormat multipleDateParserFormat= new MultipleDateParserFormat();
multipleDateParserFormat.checkParseDate(passedDate);
}
}
以下是我运行此代码时得到的输出:
Parse Exception Occured for your input Value4-03-1992for formatMM/dd/yyyy
Parse Exception Occured for your input Value4-03-1992for formatMM.dd.yyyy
Fri Apr 03 00:00:00 IST 1992
Parse Exception Occured for your input Value4-03-1992for formatyyyy/MM/dd
Parse Exception Occured for your input Value4-03-1992for formatyyyy.MM.dd
Parse Exception Occured for your input Value4-03-1992for formatyyyy-MM-dd
Parse Exception Occured for your input Value4-03-1992for formatdd/MM/yyyy
Parse Exception Occured for your input Value4-03-1992for formatdd.MM.yyyy
Wed Mar 04 00:00:00 IST 1992
因为我的测试用例满足两个给定的模式,所以我得到两个输出。
我如何在这里避免这样的情况?进行这种多重模式验证的其他方式有哪些?
推荐答案
我认为唯一可靠的方法是提前知道日期格式。你永远不知道2014年1月1日是dd/MM/yyyy还是MM/dd/yyyy
这篇关于如何在Java中针对多模式格式验证日期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何在Java中针对多模式格式验证日期?


基础教程推荐
猜你喜欢
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 降序排序:Java Map 2022-01-01