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