国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java中驗證日期時間字符串是否合法的幾種方式

這篇具有很好參考價值的文章主要介紹了Java中驗證日期時間字符串是否合法的幾種方式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

第一種,JDK8之前用SimpleDateFormat類

可以使用SimpleDateFormat類來驗證日期時間的格式和有效性。

首先,可以創(chuàng)建SimpleDateFormat對象,然后使用該對象的parse()方法來驗證日期時間字符串的格式和有效性。如果該方法拋出異常,則表示日期時間字符串不符合指定的格式,而如果該方法成功返回Date對象,則表示日期時間字符串符合指定的格式。

例如,以下代碼片段展示了如何使用SimpleDateFormat類來驗證日期時間字符串的格式和有效性:

// 創(chuàng)建SimpleDateFormat對象,指定日期時間格式
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

// 待驗證的日期時間字符串
String dateTimeString = "2021-06-30 12:34:56";

try {
    // 將日期時間字符串轉(zhuǎn)化為Date對象
    Date dateTime = dateFormat.parse(dateTimeString);

    // 驗證日期時間字符串的格式和有效性成功
    System.out.println("日期時間字符串格式和有效性驗證通過");
} catch (ParseException e) {
    // 驗證日期時間字符串的格式和有效性失敗
    System.err.println("日期時間字符串格式和有效性驗證失?。? + e.getMessage());
}

在上述代碼中,首先創(chuàng)建了一個SimpleDateFormat對象,指定日期時間格式為"yyyy-MM-dd HH:mm:ss"。然后,使用該對象的parse()方法將待驗證的日期時間字符串轉(zhuǎn)化為Date對象,如果轉(zhuǎn)化成功,則表示該日期時間字符串符合指定的格式和有效性,否則將拋出ParseException異常。

第二種,JDK8之后用DateTimeFormatter類

在Java中,可以使用DateTimeFormatter類的ofPattern方法來創(chuàng)建一個日期時間格式化對象。然后,使用該對象的parse方法來驗證一個字符串是否符合指定的日期時間格式。

以下是一個示例代碼,演示如何使用DateTimeFormatter來驗證一個字符串是否符合指定的日期時間格式:

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;

public class DateTimeFormatValidator {
    public static void main(String[] args) {
        String userInput = "2021-08-31 10:30:00";
        String pattern = "yyyy-MM-dd HH:mm:ss";
        try {
            // 創(chuàng)建日期時間格式化對象
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
            // 將用戶輸入的字符串解析為LocalDateTime對象
            LocalDateTime dateTime = LocalDateTime.parse(userInput, formatter);
            // 打印解析后的日期時間
            System.out.println(dateTime);
        } catch (DateTimeParseException e) {
            // 解析失敗,說明輸入的字符串不符合指定的日期時間格式
            System.out.println("Invalid date/time format: " + userInput);
        }
    }
}

該示例代碼中,先定義了一個用戶輸入的字符串和一個日期時間格式化模板,然后創(chuàng)建了一個DateTimeFormatter對象,使用ofPattern方法指定日期時間格式。

接著,使用DateTimeFormatter對象的parse方法將用戶輸入的字符串轉(zhuǎn)換為LocalDateTime對象。如果字符串不符合指定的日期時間格式,則會拋出DateTimeParseException異常,這時就可以判斷用戶輸入的日期時間格式是否正確。

最后,如果轉(zhuǎn)換成功,可以打印解析后的日期時間。

第三種,用正則表達(dá)式

可以使用java.util.regex包中的Pattern和Matcher類來實現(xiàn)。

以下是一個示例代碼,可以驗證日期格式為yyyy-MM-dd,時間格式為HH:mm:ss:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class DateTimeValidator {
    
    private static final String DATE_PATTERN = "yyyy-MM-dd";
    private static final String TIME_PATTERN = "HH:mm:ss";
    
    public static boolean isValidDate(String date) {
        return isValidFormat(DATE_PATTERN, date);
    }
    
    public static boolean isValidTime(String time) {
        return isValidFormat(TIME_PATTERN, time);
    }
    
    private static boolean isValidFormat(String pattern, String value) {
        boolean isValid = false;
        Pattern regexPattern = Pattern.compile(pattern);
        Matcher matcher = regexPattern.matcher(value);
        if (matcher.matches()) {
            isValid = true;
        }
        return isValid;
    }
}

使用示例:

boolean isDateValid = DateTimeValidator.isValidDate("2021-12-31"); // true
boolean isTimeValid = DateTimeValidator.isValidTime("23:59:59"); // true

需要注意的是,這個代碼只能驗證日期時間格式是否正確,而不能驗證具體的日期時間是否合法,例如無效的日期時間如2021-02-29 23:59:59。如果需要驗證具體的日期時間是否合法,需要使用更加復(fù)雜的邏輯來進(jìn)行判斷。文章來源地址http://www.zghlxwxcb.cn/news/detail-762642.html

到了這里,關(guān)于Java中驗證日期時間字符串是否合法的幾種方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 52_Pandas處理日期和時間列(字符串轉(zhuǎn)換、日期提取等)

    將解釋如何操作表示 pandas.DataFrame 的日期和時間(日期和時間)的列。字符串與 datetime64[ns] 類型的相互轉(zhuǎn)換,將日期和時間提取為數(shù)字的方法等。 以下內(nèi)容進(jìn)行說明。 如何將 datetime64[ns] 類型指定為索引并將其處理為時序數(shù)據(jù)以及如何使用,請參考以下文章。 26_Pandas.DataFr

    2024年01月22日
    瀏覽(24)
  • SQL Server日期時間與字符串之間的轉(zhuǎn)換

    1、使用函數(shù)CONVERT: 2、參數(shù)說明 expression :任何有效的SQL表達(dá)式。 data_type :目標(biāo)數(shù)據(jù)類型。 這包括 xml、bigint 和sql_variant 。 不能使用別名數(shù)據(jù)類型。 length :指定目標(biāo)數(shù)據(jù)類型長度的可選整數(shù),適用于允許用戶指定長度的數(shù)據(jù)類型。例如:nchar、nvarchar、char、varchar、binary

    2024年02月06日
    瀏覽(21)
  • SQL Server日期時間字符串的處理和轉(zhuǎn)換

    在SQL Server中,您可以使用T-SQL函數(shù)進(jìn)行日期時間字符串的處理和轉(zhuǎn)換。要判斷一個日期字符串是否包含時間信息,可以使用T-SQL內(nèi)置的函數(shù)CONVERT和TRY_CONVERT,并指定時間格式。 例如,假設(shè)有一個名為date_string的日期字符串,您可以使用以下代碼來判斷它是否包含時間信息: 如

    2024年02月16日
    瀏覽(23)
  • Python - 字符串轉(zhuǎn)日期時間,格式的處理以及時間加減計算

    Python - 字符串轉(zhuǎn)日期時間,格式的處理以及時間加減計算

    1,字符串轉(zhuǎn)日期 運行結(jié)果: 注意事項: a, 日期時間轉(zhuǎn)換時,讀取的格式要和給定的格式一樣,否則會因為無法匹配而報錯 【格式1 和 格式2 需要保持一直】 b, 轉(zhuǎn)換之后的日期格式會自動加上\\\'秒\\\'位 2,時間格式處理 根據(jù)自己的需求,通過strftime( )函數(shù)內(nèi)的控制符把日期時間格

    2024年02月12日
    瀏覽(20)
  • 前端中不同格式的日期相互轉(zhuǎn)換(字符串、時間戳)js相關(guān)

    前端中不同格式的日期相互轉(zhuǎn)換(字符串、時間戳)js相關(guān)

    在項目中遇到了,需要實現(xiàn)字符串和Unix時間戳的相互轉(zhuǎn)換,隨手記錄一下。 我使用的組件庫為Naive UI,涉及到的組件為日期選擇器(Date Picker)。作者在文檔中寫道: 實話說我不喜歡這個 feature,因為多數(shù)情況下,傳遞時間字符串不是個最佳實踐。但是現(xiàn)實世界是復(fù)雜的,我

    2024年02月02日
    瀏覽(25)
  • spark SQL 怎么將一個時間戳字符串轉(zhuǎn)換成hive支持的時間日期類型?

    在 Spark SQL 中,可以使用 to_timestamp 函數(shù)將一個時間戳字符串轉(zhuǎn)換成 Hive 支持的時間日期類型。這個函數(shù)的語法如下: 其中,timestampStr 表示要轉(zhuǎn)換的時間戳字符串,format 表示時間戳字符串的格式,格式必須與時間戳字符串的實際格式相匹配。如果不指定格式,Spark 會使用默認(rèn)

    2024年02月11日
    瀏覽(51)
  • 【Java練習(xí)題匯總】《第一行代碼JAVA》Java常用類庫篇,匯總Java練習(xí)題——Optional類、包裝類、可變字符串支持類、Runtime類、System類、數(shù)學(xué)運算類、日期時間處理...

    【Java練習(xí)題匯總】《第一行代碼JAVA》Java常用類庫篇,匯總Java練習(xí)題——Optional類、包裝類、可變字符串支持類、Runtime類、System類、數(shù)學(xué)運算類、日期時間處理...

    一、填空題 在 java.lang 包中提供了兩個字符串類,分別是________ 和________ 。這兩個類都是________ 接口的子類,字符串類提供的求字符串長度的方法是________________ 。 Java 提供的兩個大數(shù)操作類是________ 和________ 。 對象克隆方法是________ 類提供的,方法名稱是________________ ,對

    2024年02月16日
    瀏覽(36)
  • Java判斷一個字符串是否包含某個字符串

    Java判斷一個字符串是否包含某個字符串

    開發(fā)過程中,有時會判斷一個字符串是否包含某個字符串的操作,這里總結(jié)判斷方法。 方式一:contains()方法 ? ? ? ? 理解:contains() 方法用于判斷字符串中是否包含指定的字符或字符串。(判斷一個字符串是否包含某個字符串) ? ? ? ? 語法:public boolean contains(CharSequence

    2024年02月13日
    瀏覽(43)
  • Java 字符串轉(zhuǎn)日期

    在 Java 中,可以使用 SimpleDateFormat 類將字符串轉(zhuǎn)換為日期。首先,需要創(chuàng)建一個 SimpleDateFormat 對象,并指定日期格式。然后,調(diào)用 parse 方法將字符串轉(zhuǎn)換為日期對象。 例如,假設(shè)你有一個字符串 \\\"2022-12-28\\\",表示日期 2022 年 12 月 28 日,并使用 \\\"yyyy-MM-dd\\\" 格式。你可以這樣轉(zhuǎn)換

    2024年02月13日
    瀏覽(24)
  • 華為OD機(jī)試 - 提取字符串中的最長合法簡單數(shù)學(xué)表達(dá)式(Java & JS & Python & C)

    華為OD機(jī)試 - 提取字符串中的最長合法簡單數(shù)學(xué)表達(dá)式(Java & JS & Python & C)

    題目描述 提取字符串中的最長合法簡單數(shù)學(xué)表達(dá)式,字符串長度最長的,并計算表達(dá)式的值。如果沒有,則返回 0 。 簡單數(shù)學(xué)表達(dá)式只能包含以下內(nèi)容: 0-9數(shù)字,符號+-* 說明: 所有數(shù)字,計算結(jié)果都不超過long 如果有多個長度一樣的,請返回第一個表達(dá)式的結(jié)果 數(shù)學(xué)表達(dá)

    2024年02月02日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包