如何在Java中针对多模式格式验证日期?

发布时间:2022-09-16 / 作者:清心寡欲
本文介绍了如何在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

以下是我运行此代码时得到的输出:

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中针对多模式格式验证日期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持吉威生活!



[英文标题]How to Validate Date Against multiple patterns format in Java?


声明:本媒体部分图片、文章来源于网络,版权归原作者所有,如有侵权,请联系QQ:330946442删除。