最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 中校驗時間格式的常見方法

 更新時間:2024年08月22日 14:54:44   作者:碼農(nóng)愛java  
在實際項目開發(fā)中,跟時間參數(shù)打交道是必不可少的,為了保證程序的安全性、健壯性,一般都會對參數(shù)進行校驗,其他類型的參數(shù)校驗很好實現(xiàn),那你知道時間參數(shù)的是怎么校驗的嗎,下面給大家分享Java 中校驗時間格式的方法,感興趣的朋友跟隨小編一起看看吧

前言:

在實際項目開發(fā)中,跟時間參數(shù)打交道是必不可少的,為了保證程序的安全性、健壯性,一般都會對參數(shù)進行校驗,其他類型的參數(shù)校驗很好實現(xiàn),那你知道時間參數(shù)的是怎么校驗的嗎?估計部分朋友在項目開發(fā)中,并沒有對時間參數(shù)進行校驗,本篇分享時間參數(shù)的場常見校驗方法。

時間參數(shù)的校驗方向?

格式是否正確,比如業(yè)務設計需要的是 yyyy-MM-dd 格式,而傳參是 yyyy-MM-dd HH:mm:ss 格式等等。是否可以解析為正常時間,比如:2月30號這種時間。時間范圍是否在業(yè)務要求之內(nèi),比如要求最大時間范圍為一年。 校驗方法

方法一:

使用 SimpleDateFormat 校驗,SimpleDateFormat(JDK8 之前常用的方法)。

public class DateValidUtil {
    public static void main(String[] args) {
        System.out.println("結果1" + isValid("2024-13-06 12:12", "yyyy-MM-dd"));
        System.out.println("結果2" + isValid("2024-06-06 12:12:12", "yyyy-MM-dd HH:mm:ss"));
        System.out.println("結果3" + isValid("2024-06-06 12:12", "yyyy-MM-dd"));
    }
    public static boolean isValid(String dateStr,String dateFormat) {
        final DateFormat sdf = new SimpleDateFormat(dateFormat);
        sdf.setLenient(false);
        try {
            Date parse = sdf.parse(dateStr);
        } catch (ParseException e) {
            return false;
        }
        return true;
    }
}

測試結果:

結果1false
結果2true
結果3true

結果分析:

  • 2024-13-06 12:12 中 13月是不存在的,因此校驗出來是 false,沒有問題。
  • 2024-06-06 12:12:12 校驗結果為 true 沒有問題。
  • 2024-06-06 12:12 校驗結果也是 true,這個結果就有待商榷了,我們要的是 yyyy-MM-dd 格式的,而實際的時間是帶了時、分的,其校驗結果也是 true,如果要強校驗格式這里就有點問題了。

方法二:

public class DateValidUtil {
    public static void main(String[] args) {
        System.out.println("結果1"+isValidDate("2024-06-06 12:12","yyyy-MM-dd"));
        System.out.println("結果2"+isValidDate("2024-06-06 12:12:12","yyyy-MM-dd HH:mm:ss"));
    }
    public static boolean isValidDate(String dateStr, String pattern) {
        try {
            LocalDate parse = LocalDate.parse(dateStr, DateTimeFormatter.ofPattern(pattern));
            System.out.println("轉(zhuǎn)換結果"+parse);
        } catch (Exception e) {
            return false;
        }
        return true;
    }
}

測試結果:

結果1false
結果2true
結果3false

結果分析:

  • 2024-13-06 12:12 中 13月是不存在的,因此校驗出來是 false,沒有問題。
  • 2024-06-06 12:12:12 校驗結果為 true 沒有問題。
  • 2024-06-06 12:12 校驗結果也是 false,沒有問題,因為我們要的是 yyyy-MM-dd 格式的,而實際的時間是帶了時、分的,其校驗結果也是 false,沒有問題。

總結:對比兩種校驗方法,很明顯使用 LocalDate 來校驗更為嚴謹,如果你已經(jīng)使用了 JDK8 及以上的版本,建議使用 LocalDate 來對日期格式進行校驗。

到此這篇關于Java 中常校驗時間格式的方法的文章就介紹到這了,更多相關Java 校驗時間格式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java主流壓縮解壓工具對比、用法與選取詳解

    Java主流壓縮解壓工具對比、用法與選取詳解

    開發(fā)過程中可能會用到壓縮文件的需求,下面這篇文章主要給大家介紹了關于Java主流壓縮解壓工具對比、用法與選取的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • SpringBoot3實現(xiàn)國際化的代碼步驟

    SpringBoot3實現(xiàn)國際化的代碼步驟

    國際化,簡稱 i18n,源自國際化英文單詞 internationalization 中首字母 i 與尾字母 n 之間有 18 個字母,本文給大家介紹了SpringBoot3實現(xiàn)國際化的操作步驟,并通過代碼示例講解的非常詳細,需要的朋友可以參考下
    2024-12-12
  • 一篇文章教你使用SpringBoot如何實現(xiàn)定時任務

    一篇文章教你使用SpringBoot如何實現(xiàn)定時任務

    這篇文章主要給大家介紹了關于如何利用一篇文章教你使用SpringBoot實現(xiàn)定時任務的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • java實現(xiàn)哈夫曼文件解壓縮

    java實現(xiàn)哈夫曼文件解壓縮

    這篇文章主要為大家詳細介紹了java實現(xiàn)哈夫曼文件解壓縮,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • java 查找list中重復數(shù)據(jù)實例詳解

    java 查找list中重復數(shù)據(jù)實例詳解

    這篇文章主要介紹了java 查找list中重復數(shù)據(jù)實例詳解的相關資料,需要的朋友可以參考下
    2017-01-01
  • JVM內(nèi)存結構:程序計數(shù)器、虛擬機棧、本地方法棧

    JVM內(nèi)存結構:程序計數(shù)器、虛擬機棧、本地方法棧

    JVM 基本上是每家招聘公司都會問到的問題,它們會這么無聊問這些不切實際的問題嗎?很顯然不是。由 JVM 引發(fā)的故障問題,無論在我們開發(fā)過程中還是生產(chǎn)環(huán)境下都是非常常見的
    2021-06-06
  • spring BeanProcessor接口詳解

    spring BeanProcessor接口詳解

    這篇文章主要介紹了spring BeanProcessor接口的相關資料,幫助大家更好的理解和學習使用spring,感興趣的朋友可以了解下
    2021-03-03
  • Java中的NoClassDefFoundError報錯含義解析

    Java中的NoClassDefFoundError報錯含義解析

    這篇文章主要為大家介紹了Java中的NoClassDefFoundError含義詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2023-11-11
  • Java 如何實現(xiàn)POST(x-www-form-urlencoded)請求

    Java 如何實現(xiàn)POST(x-www-form-urlencoded)請求

    這篇文章主要介紹了Java 實現(xiàn)POST(x-www-form-urlencoded)請求,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 5分鐘搞懂java注解@Annotation的具體使用

    5分鐘搞懂java注解@Annotation的具體使用

    這篇文章主要介紹了5分鐘搞懂java注解@Annotation的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05

最新評論

湖南省| 冀州市| 隆尧县| 张家界市| 股票| 木兰县| 孟津县| 凌源市| 宜兴市| 宁陕县| 平陆县| 虞城县| 敦煌市| 平遥县| 来宾市| 乳山市| 扶余县| 涪陵区| 金湖县| 长沙市| 诸城市| 阳原县| 金秀| 晋中市| 邹城市| 浦江县| 竹山县| 遵义县| 宿州市| 鄂伦春自治旗| 兰州市| 玉环县| 静乐县| 武城县| 德昌县| 邵阳县| 池州市| 东丽区| 东源县| 工布江达县| 承德县|