Java 日期格式y(tǒng)yyy-MM-dd與YYYY-MM-dd區(qū)別
yyyy-MM-dd HH:mm:ss:SSS 24小時制或yyyy-MM-dd hh:mm:ss:SSS 12小時制,本文就來介紹一下兩者的區(qū)別,感興趣的可以了解一下
1. 前言
我們在java中常用的規(guī)范格式為:yyyy-MM-dd HH:mm:ss:SSS 24小時制或yyyy-MM-dd hh:mm:ss:SSS 12小時制
2. yyyy-MM-dd與YYYY-MM-dd區(qū)別在哪里?
我們看IDEA給的代碼提示:

(小疏忽后面的字被擋住了),解釋如下:
- Y 代表 Week Year,表示當天周所在的年份。這種方式將會把一年劃分成52 周/53周(類似于閏年的概念,每隔幾年將會增加一周)。
- Week Year下每周僅屬于某一年,如果某年的第一周或最后一周跨年,就會導(dǎo)致部分日期年份與實際不符。
- YYYY 表示:當天所在的周屬于的年份,一周從周日開始,周六結(jié)束,只要本周跨年,那么這周就算入下一年。
3. 舉例驗證
常用格式為:yyyy-MM-dd HH:mm:ss;
以:2015-01-02 17:19:22:043 舉例
| 字符 | 含義 | 舉例 |
|---|---|---|
| y(小寫y) | 年 | yyyy-2015 |
| M(大寫M) | 月 | MM-01 |
| d(小寫d) | 日(某月份對應(yīng)的天數(shù)) | dd-02 |
| H(24 小時制,大寫H) | 小時(0-23) | HH-17 |
| h(12 小時制,小寫h) | 小時(1-12) | hh-05 |
| m(小寫m) | 分鐘 | mm-19 |
| s(小寫s) | 秒 | ss-22 |
| Y(大寫y) | Week Year | YYYY-2015 |
| D(大寫D) | 一年中的天數(shù)(年份為大寫Y起作用) | DD-362 |
| S(大寫S) | 毫秒 | SSS-043 |
4. 上代碼驗證
4.1 代碼
public static void main(String[] args) {
// 將指定時間轉(zhuǎn)換成時間戳,再由時間戳轉(zhuǎn)換成時間
String Stime = "2015-01-02 17:19:22:43"; // 處理前的時間
long Ltime = 0; // 時間戳
System.out.println("處理前的時間:" + Stime);
// 時間轉(zhuǎn)為時間戳
//1.SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 2.SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-DD hh:mm:ss");
// 3.SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
// 4.SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-MM-DD hh:mm:ss");
try {
Date date2 = simpleDateFormat.parse(Stime);
Ltime = date2.getTime();
System.out.println("時間轉(zhuǎn)時間戳結(jié)果:" + Ltime);
} catch (ParseException | java.text.ParseException e) {
e.printStackTrace();
}
//將時間戳轉(zhuǎn)換為時間
String res = simpleDateFormat.format(Ltime);
System.out.println("時間戳轉(zhuǎn)時間結(jié)果:" + res);
}
4.2 結(jié)果:
結(jié)果1:yyyy-MM-dd HH:mm:ss:SSS
處理前的時間:2015-01-02 17:19:22:43
時間轉(zhuǎn)時間戳結(jié)果:1420190362043
時間戳轉(zhuǎn)時間結(jié)果:2015-01-02 17:19:22:043結(jié)果2:yyyy-MM-DD hh:mm:ss:SSS
時間轉(zhuǎn)時間戳結(jié)果:1420190362043
時間戳轉(zhuǎn)時間結(jié)果:2015-01-02 05:19:22:043 (證明yyyy對大寫D不敏感)結(jié)果3:YYYY-MM-dd HH:mm:ss:SSS
時間轉(zhuǎn)時間戳結(jié)果:1419758362043
時間戳轉(zhuǎn)時間結(jié)果:2015-12-28 17:19:22:043結(jié)果4:YYYY-MM-DD hh:mm:ss:SSS
時間轉(zhuǎn)時間戳結(jié)果:1419758362043
時間戳轉(zhuǎn)時間結(jié)果:2015-12-362 05:19:22:043 (證明YYYY對大寫D敏感)362代表12月28號這天是一年中的第362天
5. 關(guān)于字母數(shù)量以及大小寫問題
5.1 大小寫問題
字母的大小寫一定要符合規(guī)范,否則會出現(xiàn)bug,比如yyyy-mm-dd hh:MM:ss,
此時月份和分鐘寫亂了,就會出現(xiàn)時間錯亂問題,月份時間變錯,結(jié)果如下:
例子:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-mm-dd HH:MM:ss");
2016-01-02 17:07:22
5.2 字母數(shù)量問題
根據(jù)日常使用規(guī)范年份都是四個字母所以yyyy,月份、天數(shù)、時分秒毫秒同理(毫秒=1000就進位了)
以下是一些字母數(shù)量不常規(guī)的結(jié)果:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yy-MM-dd HH:mm:ss:SSS");
時間戳轉(zhuǎn)時間結(jié)果:15-01-02 17:19:22:043
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("y-MM-dd HH:mm:ss:SSS");
時間戳轉(zhuǎn)時間結(jié)果:2015-01-02 17:19:22:043
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyy-MM-dd HH:mm:ss:SSS");
時間戳轉(zhuǎn)時間結(jié)果:02015-01-02 17:19:22:043
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HHH:mmm:ss:SSS");
時間戳轉(zhuǎn)時間結(jié)果:2015-01-02 017:019:22:043
6. 總結(jié)
在java中要使用規(guī)范:即-> yyyy-MM-dd HH:mm:ss:SSS 24小時制或yyyy-MM-dd hh:mm:ss:SSS 12小時制
到此這篇關(guān)于Java 日期格式y(tǒng)yyy-MM-dd與YYYY-MM-dd區(qū)別的文章就介紹到這了,更多相關(guān)Java yyyy-MM-dd YYYY-MM-dd內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
jbuilder2006連接sqlserver2000的方法
xp jbuiler2006 連接SQL SERVER2000的問題2008-10-10
mybatis-plus的selectById(或者selectOne)在根據(jù)主鍵ID查詢實體對象的時候偶爾會出現(xiàn)nul
這篇文章主要介紹了mybatis-plus的selectById(或者selectOne)在根據(jù)主鍵ID查詢實體對象的時候偶爾會出現(xiàn)null的問題記錄,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Java字符串駝峰與下?lián)Q線格式轉(zhuǎn)換如何實現(xiàn)
這篇文章主要介紹了Java字符串駝峰與下?lián)Q線格式轉(zhuǎn)換如何實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11
Springboot+WebSocket實現(xiàn)一對一聊天和公告的示例代碼
這篇文章主要介紹了Springboot+WebSocket實現(xiàn)一對一聊天和公告的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
一文搞清楚Java中Comparable和Comparator的區(qū)別
Java中的Comparable和Comparator都是用于集合排序的接口,但它們有明顯的區(qū)別,文中通過一些實例代碼詳細介紹了Java中Comparable和Comparator的區(qū)別,感興趣的同學(xué)跟著小編一起學(xué)習(xí)吧2023-05-05

