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

與眾不同的 Java 日期格式化大全

 更新時間:2019年06月11日 10:24:07   作者:阿土伯已經(jīng)不是我  
這篇文章主要介紹了與眾不同的 Java 日期格式化大全,在 Java 中,經(jīng)常要將時間字符串轉換為日期,或者要將日期轉換為時間字符串。,需要的朋友可以參考下

前言

在 Java 中,經(jīng)常要將時間字符串轉換為日期,或者要將日期轉換為時間字符串。這種操作一般都是用 java.text.SimpleDateFormat 類處理。例如要將日期轉換為時間字符串,那么就用下面的代碼。

new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())

得到的結果是

2018-11-25 17:57:40

其中 "yyyy-MM-dd HH:mm:ss" 這部分叫做時間模式,是由一些固定的字符組合來指定的。java.text.SimpleDateFormat 可以根據(jù)這個模式調(diào)用 format 方法把時間對象格式化為符合模式的字符串,也可以根據(jù)這個模式調(diào)用 parse 來把一個符合模式的字符串解析為時間對象。但是一直以來,這個用法都不太系統(tǒng),所以對他的用法總結一下,希望對大家有幫助。

java.text.SimpleDateFormat 模式字符串

下表是 支持的時間模式的字符串

字符 含義
G 年代標志符
y
M
d
h 時在上午或下午(1~12)
H 時在一天中(0~23)
m
s
S 毫秒
E 星期
D 一年中的第幾天
F 一月中第幾個星期幾
w 一年中第幾個星期
W 一月中第幾個星期
a 上午/下午標記符
k 時在一天中(1~24)
K 時在上午或下午(0~11)
z 時區(qū)

給出一個較完整的例子如下

System.out.println(
new SimpleDateFormat("G y-M-d Z E H:m:s:S a").format(new Date())
);

輸出結果為

公元 2018-11-26 +0800 星期一 18:3:42:236 下午

其中“公元”是年代,“ 2018-11-26”是格式化的年月日,“+0800” 是當前時區(qū)設置,“星期一”是星期,“17:32:11:099”是帶毫秒的時間,“下午”是上下午標志。

java.text.SimpleDateFormat 模式擴展用法

上一章節(jié)的表格顯示的是 java.text.SimpleDateFormat 模式的最基礎的字符模式。這些模式實際上是可以有擴展的使用方法的。

字符 含義
MM 二位數(shù)字顯示月份。位數(shù)不夠前面補 0
MMM 用月份名稱簡寫顯示月份,例如 Nov
MMMMM 用月份名稱全稱顯示月份,例如 November
HH 二位數(shù)字顯示 24 小時制的小時,位數(shù)不夠前面補 0
hh 二位數(shù)字顯示 12 小時制的小時 ,位數(shù)不夠前面補 0
mm 二位數(shù)字顯示分鐘,位數(shù)不夠前面補 0
hh 二位數(shù)字顯示秒 ,位數(shù)不夠前面補 0
sss 三位數(shù)字顯毫秒,位數(shù)不夠前面補 0
非字母字符 例如-/*&^%()數(shù)字等,直接填充字符串位置
'' 常量字符,在兩個'符號之間的字符串會被當做常量直接顯示
System.out.println(
new SimpleDateFormat("G y-MM-dd Z E HH:mm:ss:SSS a").format(new Date())
);

輸出結果為

公元 2018-11-26 +0800 星期一 18:24:05:052 下午
System.out.println(
new SimpleDateFormat("yyyy-MMMMM-|/)(&*^%$#@!,.-+12dd HH:mm:ss").format(new Date())
);

輸出結果為

2018-十一月-|/)(&*^%$#@!,.-+1226 20:15:13

如果我們要輸出一些固定的含字母的字符串,則可以用下面的代碼

System.out.println(
new SimpleDateFormat("'ygc time :'G y-MM-dd Z E HH:mm:ss:SSS a")
.format(new Date())
);

輸出結果為:

ygc time :公元 2018-11-26 +0800 星期一 21:01:13:076 下午

時間格式語言設置

對于一些數(shù)據(jù)的顯示,語言設置會影響她的表現(xiàn)。例如年代、月份、星期、上下午標識。

首先我們看看當前的 Java 支持哪些語言

Map<String, String> languages = new LinkedHashMap<>();
for (Locale locale : Locale.getAvailableLocales()) {
languages.put(locale.getLanguage(), locale.getDisplayLanguage());
}
for (String key : languages.keySet()) {
System.out.println(key + ":" + languages.get(key));
}

得到結果

ar:阿拉伯文
hr:克羅地亞文
fr:法文
es:西班牙文
mt:馬耳他文
bg:保加利亞文
zh:中文
it:意大利文
ko:朝鮮文
uk:烏克蘭文
lv:拉托維亞文(列托)
da:丹麥文
vi:越南文
en:英文
sr:塞爾維亞文
sv:瑞典文
pt:葡萄牙文
sk:斯洛伐克文
hi:印地文
ga:愛爾蘭文
fi:芬蘭文
et:愛沙尼亞文
cs:捷克文
el:希臘文
hu:匈牙利文
in:印度尼西亞文
ja:日文
be:白俄羅斯文
is:冰島文
pl:波蘭文
tr:土耳其文
ca:加泰羅尼亞文
ms:馬來文
lt:立陶宛文
sq:阿爾巴尼亞文
de:德文
ro:羅馬尼亞文
sl:斯洛文尼亞文
ru:俄文
no:挪威文
th:泰文
mk:馬其頓文
iw:希伯來文
nl:荷蘭文

在代碼中通過指定 java.text.SimpleDateFormat 構造函數(shù)中的 java.util.Locale 對象來指定語言選項,然后用不同語言來格式化時間。

編寫代碼輸出每種語言的時間字符串如下所示

Map<String, String> languages = new LinkedHashMap<>();
for (Locale locale : Locale.getAvailableLocales()) {
languages.put(locale.getLanguage(), locale.getDisplayLanguage());
}
for (String key : languages.keySet()) {
if (key.length() > 0) {
System.out.println(languages.get(key));
System.out.println(
new SimpleDateFormat("G y-MMMMM-dd Z E HH:mm:ss:SSS a", new Locale(key))
.format(new Date())
);
}
}

得到如下的結果:

阿拉伯文
م 2018-نوفمبر-26 +0800 ن 20:55:37:457 م
克羅地亞文
Poslije Krista 2018-studenoga-26 +0800 pon 20:55:37:463 PM
法文
ap. J.-C. 2018-novembre-26 +0800 lun. 20:55:37:465 PM
西班牙文
anno Dómini 2018-noviembre-26 +0800 lun 20:55:37:468 PM
馬耳他文
WK 2018-Novembru-26 +0800 Tne 20:55:37:471 WN
保加利亞文
н.е. 2018-Ноември-26 +0800 Пн 20:55:37:474 PM
中文
公元 2018-十一月-26 +0800 星期一 20:55:37:484 下午
意大利文
dopo Cristo 2018-novembre-26 +0800 lun 20:55:37:488 PM
朝鮮文
서기 2018-11월-26 +0800 월 20:55:37:491 오후
烏克蘭文
після н.е. 2018-листопада-26 +0800 пн 20:55:37:503 PM
拉托維亞文(列托)
mē 2018-novembris-26 +0800 P 20:55:37:505 PM
丹麥文
e.Kr. 2018-november-26 +0800 ma 20:55:37:508 PM
越南文
sau CN 2018-tháng mười một-26 +0800 Th 2 20:55:37:518 CH
英文
AD 2018-November-26 +0800 Mon 20:55:37:520 PM
塞爾維亞文
н. е 2018-новембар-26 +0800 пон 20:55:37:523 PM
瑞典文
efter Kristus 2018-november-26 +0800 må 20:55:37:526 em
葡萄牙文
d.C. 2018-Novembro-26 +0800 Seg 20:55:37:528 PM
斯洛伐克文
n.l. 2018-novembra-26 +0800 Po 20:55:37:530 PM
印地文
AD 2018-November-26 +0800 Mon 20:55:37:533 PM
愛爾蘭文
AD 2018-Samhain-26 +0800 Luan 20:55:37:534 p.m.
芬蘭文
jKr. 2018-marraskuuta-26 +0800 ma 20:55:37:536 ip.
愛沙尼亞文
m.a.j. 2018-november-26 +0800 E 20:55:37:547 PM
捷克文
po Kr. 2018-listopadu-26 +0800 Po 20:55:37:550 odp.
希臘文
AD 2018-Νοεμβρίου-26 +0800 Δευ 20:55:37:556 μμ
匈牙利文
i.u. 2018-november-26 +0800 H 20:55:37:563 DU
印度尼西亞文
CE 2018-November-26 +0800 Sen 20:55:37:565 PM
日文
西暦 2018-11月-26 +0800 月 20:55:37:569 午後
白俄羅斯文
н.е. 2018-лістапада-26 +0800 пн 20:55:37:571 PM
冰島文
AD 2018-nóvember-26 +0800 mán. 20:55:37:576 PM
波蘭文
n.e. 2018-listopada-26 +0800 Pn 20:55:37:579 PM
土耳其文
MS 2018-Kasım-26 +0800 Pzt 20:55:37:581 PM
加泰羅尼亞文
AD 2018-de novembre-26 +0800 dl. 20:55:37:583 PM
馬來文
CE 2018-November-26 +0800 Isn 20:55:37:586 PM
立陶宛文
po.Kr. 2018-lapkritis-26 +0800 Pr 20:55:37:611 PM
阿爾巴尼亞文
n.e.r. 2018-nëntor-26 +0800 Hën 20:55:37:613 MD
德文
n. Chr. 2018-November-26 +0800 Mo 20:55:37:616 PM
羅馬尼亞文
î.d.C. 2018-noiembrie-26 +0800 L 20:55:37:618 PM
斯洛文尼亞文
po Kr. 2018-november-26 +0800 Pon 20:55:37:620 PM
俄文
н.э. 2018-ноября-26 +0800 Пн 20:55:37:622 PM
挪威文
AD 2018-november-26 +0800 ma 20:55:37:626 PM
泰文
ค.ศ. 2018-พฤศจิกายน-26 +0800 จ. 20:55:37:628 หลังเที่ยง
馬其頓文
ае. 2018-ноември-26 +0800 пон. 20:55:37:630 PM
希伯來文
לפסה"נ 2018-נובמבר-26 +0800 ב 20:55:37:645 PM
荷蘭文
n. Chr. 2018-november-26 +0800 ma 20:55:37:651 PM

如果用月份簡寫來輸出的代碼如下

Map<String, String> languages = new LinkedHashMap<>();
for (Locale locale : Locale.getAvailableLocales()) {
languages.put(locale.getLanguage(), locale.getDisplayLanguage());
}
for (String key : languages.keySet()) {
if (key.length() > 0) {
System.out.println(languages.get(key));
System.out.println(
new SimpleDateFormat("G y-MMM-dd Z E HH:mm:ss:SSS a", new Locale(key))
.format(new Date())
);
}
}
阿拉伯文
م 2018-نوف-26 +0800 ن 20:58:06:797 م
克羅地亞文
Poslije Krista 2018-stu-26 +0800 pon 20:58:06:803 PM
法文
ap. J.-C. 2018-nov.-26 +0800 lun. 20:58:06:806 PM
西班牙文
anno Dómini 2018-nov-26 +0800 lun 20:58:06:809 PM
馬耳他文
WK 2018-Nov-26 +0800 Tne 20:58:06:812 WN
保加利亞文
н.е. 2018-XI-26 +0800 Пн 20:58:06:815 PM
中文
公元 2018-十一月-26 +0800 星期一 20:58:06:823 下午
意大利文
dopo Cristo 2018-nov-26 +0800 lun 20:58:06:826 PM
朝鮮文
서기 2018-11월-26 +0800 월 20:58:06:835 오후
烏克蘭文
після н.е. 2018-лист.-26 +0800 пн 20:58:06:848 PM
拉托維亞文(列托)
mē 2018-nov.-26 +0800 P 20:58:06:851 PM
丹麥文
e.Kr. 2018-nov.-26 +0800 ma 20:58:06:853 PM
越南文
sau CN 2018-thg 11-26 +0800 Th 2 20:58:06:864 CH
英文
AD 2018-Nov-26 +0800 Mon 20:58:06:865 PM
塞爾維亞文
н. е 2018-нов-26 +0800 пон 20:58:06:868 PM
瑞典文
efter Kristus 2018-nov-26 +0800 må 20:58:06:875 em
葡萄牙文
d.C. 2018-nov-26 +0800 Seg 20:58:06:888 PM
斯洛伐克文
n.l. 2018-nov-26 +0800 Po 20:58:06:902 PM
印地文
AD 2018-Nov-26 +0800 Mon 20:58:06:912 PM
愛爾蘭文
AD 2018-Samh-26 +0800 Luan 20:58:06:916 p.m.
芬蘭文
jKr. 2018-marraskuuta-26 +0800 ma 20:58:06:920 ip.
愛沙尼亞文
m.a.j. 2018-nov-26 +0800 E 20:58:06:932 PM
捷克文
po Kr. 2018-Lis-26 +0800 Po 20:58:06:950 odp.
希臘文
AD 2018-Νοε-26 +0800 Δευ 20:58:06:953 μμ
匈牙利文
i.u. 2018-nov.-26 +0800 H 20:58:06:973 DU
印度尼西亞文
CE 2018-Nov-26 +0800 Sen 20:58:06:976 PM
日文
西暦 2018-11-26 +0800 月 20:58:06:982 午後
白俄羅斯文
н.е. 2018-ліс-26 +0800 пн 20:58:06:985 PM
冰島文
AD 2018-nóv.-26 +0800 mán. 20:58:06:988 PM
波蘭文
n.e. 2018-lis-26 +0800 Pn 20:58:06:991 PM
土耳其文
MS 2018-Kas-26 +0800 Pzt 20:58:06:998 PM
加泰羅尼亞文
AD 2018-de nov.-26 +0800 dl. 20:58:07:007 PM
馬來文
CE 2018-Nov-26 +0800 Isn 20:58:07:009 PM
立陶宛文
po.Kr. 2018-Lap-26 +0800 Pr 20:58:07:065 PM
阿爾巴尼亞文
n.e.r. 2018-Nën-26 +0800 Hën 20:58:07:069 MD
德文
n. Chr. 2018-Nov-26 +0800 Mo 20:58:07:073 PM
羅馬尼亞文
î.d.C. 2018-Nov-26 +0800 L 20:58:07:077 PM
斯洛文尼亞文
po Kr. 2018-nov.-26 +0800 Pon 20:58:07:080 PM
俄文
н.э. 2018-ноя-26 +0800 Пн 20:58:07:083 PM
挪威文
AD 2018-nov-26 +0800 ma 20:58:07:088 PM
泰文
ค.ศ. 2018-พ.ย.-26 +0800 จ. 20:58:07:091 หลังเที่ยง
馬其頓文
ае. 2018-ноем.-26 +0800 пон. 20:58:07:094 PM
希伯來文
לפסה"נ 2018-נוב-26 +0800 ב 20:58:07:097 PM
荷蘭文
n. Chr. 2018-nov-26 +0800 ma 20:58:07:100 PM

還有其他的一些用法,大家可以繼續(xù)去探索。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • java從文件中讀取數(shù)據(jù)的六種方法

    java從文件中讀取數(shù)據(jù)的六種方法

    本文主要介紹了java從文件中讀取數(shù)據(jù)的方法,詳細的介紹了六種方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • java調(diào)用外部程序的方法及代碼演示

    java調(diào)用外部程序的方法及代碼演示

    這篇文章主要介紹了java調(diào)用外部程序的方法及代碼演示的相關資料,需要的朋友可以參考下
    2023-03-03
  • Java?String之contains方法的使用詳解

    Java?String之contains方法的使用詳解

    這篇文章主要介紹了Java?String之contains方法的使用詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • SpringMVC配置404踩坑記錄

    SpringMVC配置404踩坑記錄

    本文主要介紹了SpringMVC配置404踩坑記錄,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-03-03
  • String.intern()作用與常量池關系示例解析

    String.intern()作用與常量池關系示例解析

    這篇文章主要為大家介紹了String.intern()作用與常量池關系示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • 啟用springboot security后登錄web頁面需要用戶名和密碼的解決方法

    啟用springboot security后登錄web頁面需要用戶名和密碼的解決方法

    這篇文章主要介紹了啟用springboot security后登錄web頁面需要用戶名和密碼的解決方法,也就是使用默認用戶和密碼登錄的操作方法,本文結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • 詳解Java實現(xiàn)多線程的三種方式

    詳解Java實現(xiàn)多線程的三種方式

    這篇文章主要為大家詳細介紹了Java實現(xiàn)多線程的三種方式,感興趣的小伙伴們可以參考一下
    2016-03-03
  • Spring Cache原理解析

    Spring Cache原理解析

    Spring Cache是一個框架,它提供了基于注解的緩存功能,使得開發(fā)者可以很方便地將緩存集成到他們的應用程序中,這篇文章主要介紹了Spring Cache原理解析,需要的朋友可以參考下
    2024-05-05
  • Spring事務的傳播行為解析

    Spring事務的傳播行為解析

    這篇文章主要介紹了Spring事務的傳播行為解析,事務傳播行為(propagation?behavior)指的就是當一個事務方法被另一個事務方法調(diào)用時,這個事務方法應該如何運行,需要的朋友可以參考下
    2023-10-10
  • 深度理解Java訪問修飾符

    深度理解Java訪問修飾符

    今天帶大家學習的是Java的相關知識,文章圍繞著Java訪問修飾符展開,有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06

最新評論