亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java常用 Date 時間格式化、Calender日歷、正則表達式的用法小結(jié)

 更新時間:2024年12月12日 11:43:21   作者:程序猿ZhangSir  
SimpleDateFormat?是Java中用于格式化和解析日期的類,它允許你將日期對象轉(zhuǎn)換為特定格式的字符串,或者將特定格式的字符串轉(zhuǎn)換為日期對象,這篇文章主要介紹了Java常用 Date 時間格式化、Calender日歷、正則表達式的用法,需要的朋友可以參考下

1. SimpleDateFormat 日期格式化類

SimpleDateFormat 是Java中用于格式化和解析日期的類。它允許你將日期對象轉(zhuǎn)換為特定格式的字符串,或者將特定格式的字符串轉(zhuǎn)換為日期對象。

1.1 Date 類型轉(zhuǎn) String

public final format(Date date);

方法傳入一個 Date 類型的變量,返回一個字符串;

// 指定要轉(zhuǎn)化成哪種格式的字符串
// 第一種(最常用的一種):年-月-日 時-分-秒格式。 為24小時制,例如下午一點,顯示為 13-00-00
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 第二種:             年-月-日 時-分-秒格式。 為12小時制,例如下午一點,就會顯示 01-00-00
SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
// 第三種:             年-月-日 格式。
SimpleDateFormat simpleDateFormat3 = new SimpleDateFormat("yyyy-MM-dd");
// 獲取當前時間。  實際開發(fā)則從數(shù)據(jù)庫查詢獲得,或由前端傳入獲取
Date date = new Date();
// 將當前時間格式化成指定格式的字符串
String formatDate1 = simpleDateFormat1.format(date);
System.out.println("yyyy-MM-dd HH:mm:ss 格式轉(zhuǎn)化為字符串:"+ formatDate1);
String formatDate2 = simpleDateFormat2.format(date);
System.out.println("yyyy-MM-dd hh:mm:ss 格式轉(zhuǎn)化為字符串:"+ formatDate2);
String formatDate3 = simpleDateFormat3.format(date);
System.out.println("yyyy-MM-dd 格式轉(zhuǎn)化為字符串:"+ formatDate3);

運行代碼,如下所示

1.2 String 類型轉(zhuǎn) Date

public Date parse(String source) throws ParseException;

方法傳入一個字符串,返回一個 Date 類型的對象;

// 指定要轉(zhuǎn)化成哪種格式的字符串
// 第一種(最常用的一種):年-月-日 時-分-秒格式。 為24小時制,例如下午一點,顯示為 13-00-00
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 第二種:             年-月-日 時-分-秒格式。 為12小時制,例如下午一點,就會顯示 01-00-00
SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
// 第三種:             年-月-日 格式。
SimpleDateFormat simpleDateFormat3 = new SimpleDateFormat("yyyy-MM-dd");
String dateString1 = "2012-12-12 12:12:12";
String dateString2 = "2022-12-12 12:12:12";
String dateString3 = "2032-12-12";
try {
    Date date1 = simpleDateFormat1.parse(dateString1);
    Date date2 = simpleDateFormat2.parse(dateString2);
    Date date3 = simpleDateFormat3.parse(dateString3);
    System.out.println(date1);
    System.out.println(date2);
    System.out.println(date3);
} catch (ParseException e) {
    throw new RuntimeException(e);

運行上述代碼,如下所示

2. Calendar 日歷類

Calendar類是Java中用于操作日期和時間的抽象類。它提供了一些方法來獲取和設(shè)置日期和時間,以及進行日期和時間的計算。

(1) getInstance():獲取一個表示當前日期和時間的Calendar實例;

(2) get(int field):獲取指定字段的值。字段可以是Calendar.YEAR、Calendar.MONTH、Calendar.DAY_OF_MONTH等;但這里要注意,月份是從0~11,因此當我們要轉(zhuǎn)化成具體的某一個月時,需要+1;

(3) getTime():將 Calendar 對象轉(zhuǎn)換為 Date 對象;

(4) setTime(Date date):將 Date 對象設(shè)置為 Calendar 對象的日期和時間;

Calendar calendar = Calendar.getInstance();
System.out.println("calender 對象:" +calendar.getTime());
// 獲取年份
int year = calendar.get(Calendar.YEAR);
System.out.println("獲取 calender 對象的年份" +year);
// 獲取月份
int month = calendar.get(Calendar.MONTH);
System.out.println("獲取 calender 對象的月份,未+1" +month);
// 獲取日期
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println("獲取 calender 對象的日期" +dayOfMonth);
// 打印當前日期和時間,月份進行+1
System.out.println(year + "-" + (month + 1) + "-" + dayOfMonth);
// 轉(zhuǎn)化為 date 對象
Date date = calendar.getTime();
System.out.println("轉(zhuǎn)化為 Date 類型對象:"+ date);

運行上述代碼如下所示

3. 正則表達式

正則表達式大家都不陌生,雖然對于初學(xué)者來說寫起來不太簡單,但用起來是真的香!

通常都是將正則條件寫成一個字符串,然后在去調(diào)用 String 字符串類中已經(jīng)寫好的 "matches" 正則方法,方法會返回一個布爾類型的值。

3.1 正則表達式的組成部分

(1)字符類:用于匹配特定類型的字符。例如 [abc] 匹配字符 a,b,c;[a-z] 則表示匹配26個小寫字母,[A-Z] 則表示匹配26個大寫字母,[0-9] 表示匹配0~9的數(shù)字;

(2)量詞:用于指定匹配的字符數(shù)量。例如 a* 匹配零個或多個,a+ 表示匹配一個或多個,a? 表示匹配零個或一個;

(3)錨點:用于指定匹配的位置。例如 "^"表示匹配的開始,“”

(4)分組:分組用于將多個字符或模式組合在一起。例如(abc)匹配 abc,(abc|def)匹配 abc 或 def。

(5)轉(zhuǎn)義字符:轉(zhuǎn)義字符用于匹配特殊字符。例如 \d 匹配任何數(shù)字,\w 匹配任何字母,數(shù)字或下劃線。

(6)預(yù)查:預(yù)查用于指定匹配的模式必須滿足的條件,但不包括匹配結(jié)果中。例如 (?=abc)表示匹配的位置后面必須是 abc。

當然了,上述六個是正則表達式的基本組成部分,還有很多高級的組成部分,包括反向引用,非獲取組,注釋等。

3.2 手機號正則表達式

想要校驗一個手機號是否合法,首先要知道手機號的基本構(gòu)成。這里擴展一個冷知識。

(1)手機號都是以 "1" 開頭,這個大家都知道;

(2)手機號碼第二位不可能是 "0","1","2";第三可以是任意數(shù)字;后面8位也是隨機數(shù)字;

(3)中國三大運行商,移動,聯(lián)通,電信分別運營不同的特有號碼片段,正是通過第二位和第三位數(shù)字來區(qū)分屬于哪個運營商的。

代碼如下

// ^:表示字符串的開始。
// 1:表示手機號的第一位必須是1。
// [3456789]:表示手機號的第二位必須是3、4、5、6、7、8、9中的一個。
// \\d{9}:表示手機號的后面9位必須是數(shù)字。第一個 "\" 表示轉(zhuǎn)義符
//  $:表示字符串的結(jié)束。
String regex = "^1[3456789]\\d{9}$";
// 現(xiàn)在手機號直接定義一個,實際開發(fā)會由前端傳給我們
String phoneNumber = "13812345678";
if (phoneNumber.matches(regex)) {
    System.out.println("手機號格式正確");
} else {
    System.out.println("手機號格式錯誤");
}

3.3 常用密碼校驗正則表達式

密碼就沒啥可說的了,安全性高一些的網(wǎng)站或者APP,可能會強制要求至少包含一個大小寫、數(shù)字、特殊字符,且不能含有空格,長度通常為8~16位。

// 至少包含一個大寫字母:(?=.*[A-Z])
// 至少包含一個小寫字母:(?=.*[a-z])
// 至少包含一個數(shù)字:(?=.*\\d)
// 至少包含一個特殊字符:(?=.*[!@#$%^&*()_+\\-=\\[\\]{};':"\\|,.<>\\/?])
// 不允許有空格:^[^\\s]+$
// 至少8個字符且不多于16個字符:^.{8,}$
String regex = "^(?=.*[A-Z])(?=.*[a-z])(?=.*\\d)(?=.*[!@#$%^&*()_+\\-=\\[\\]{};':\"\\|,.<>\\/?]).{8,16}$";
String password = "Abc123!@#";
if (password.matches(regex)) {
    System.out.println("密碼符合要求");
} else {
    System.out.println("密碼不符合要求");
}

到此這篇關(guān)于Java常用 Date 時間格式化、Calender日歷、正則表達式的用法的文章就介紹到這了,更多相關(guān)java date時間格式化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringMVC如何正確接收時間的請求示例分析

    SpringMVC如何正確接收時間的請求示例分析

    這篇文章主要為大家介紹了SpringMVC如何正確接收時間的請求示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • Spring Boot整合EhCache的步驟詳解

    Spring Boot整合EhCache的步驟詳解

    EhCache 是一個純Java的進程內(nèi)緩存框架,具有快速、精干等特點,是Hibernate中默認CacheProvider。這篇文章主要介紹了Spring Boot整合EhCache的步驟詳解,需要的朋友可以參考下
    2020-02-02
  • SpringBoot如何對LocalDateTime進行格式化并解析

    SpringBoot如何對LocalDateTime進行格式化并解析

    這篇文章主要介紹了SpringBoot如何對LocalDateTime進行格式化方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • IDEA中配置Java反編譯工具javap -c的使用

    IDEA中配置Java反編譯工具javap -c的使用

    本文主要介紹了IDEA中配置Java反編譯工具javap -c的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2023-07-07
  • java web實現(xiàn)簡單聊天室

    java web實現(xiàn)簡單聊天室

    這篇文章主要為大家詳細介紹了java-web實現(xiàn)簡單聊天室,含拍一拍功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • SpringBoot獲取resources目錄下的文件

    SpringBoot獲取resources目錄下的文件

    在 Spring Boot 項目中,獲取 resources 目錄中的文件路徑通常涉及到訪問類路徑資源,Spring Boot 提供了一些工具類和方法,下面小編就來和大家詳細聊聊
    2024-10-10
  • Java診斷工具Arthas安裝與卸載的詳細指南

    Java診斷工具Arthas安裝與卸載的詳細指南

    Arthas?是阿里巴巴開源的一款強大的?Java?診斷工具,能夠幫助開發(fā)者在不重啟應(yīng)用的情況下,實時監(jiān)控和診斷?Java?應(yīng)用的運行狀態(tài),本文將詳細介紹?Arthas?的多種安裝方式、使用方法以及卸載步驟,幫助開發(fā)者快速上手并應(yīng)用于實際開發(fā)中,需要的朋友可以參考下
    2025-02-02
  • Java中float類型的范圍及其與十六進制的轉(zhuǎn)換例子

    Java中float類型的范圍及其與十六進制的轉(zhuǎn)換例子

    這篇文章主要介紹了Java中float類型的范圍及其與十六進制的轉(zhuǎn)換例子,是Java入門學(xué)習中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-10-10
  • SpringBoot SSE服務(wù)端主動推送事件的實現(xiàn)

    SpringBoot SSE服務(wù)端主動推送事件的實現(xiàn)

    本文主要介紹了SpringBoot SSE服務(wù)端主動推送事件的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2023-06-06
  • Spring?Cloud?OpenFeign?遠程調(diào)用

    Spring?Cloud?OpenFeign?遠程調(diào)用

    這篇文章主要介紹了Spring?Cloud?OpenFeign?遠程調(diào)用,本文通過遠程調(diào)用的GitHub開放API用到的OpenFeign作為示例代碼作為入口進行講解。然后以圖解+解讀源碼的方式深入剖析了OpenFeign的運行機制和架構(gòu)設(shè)計,需要的朋友可以參考一下
    2022-08-08

最新評論