日期和时间 - Java处理日期和时间
生活随笔
收集整理的這篇文章主要介紹了
日期和时间 - Java处理日期和时间
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在計(jì)算機(jī)中我們經(jīng)常要處理日期和時(shí)間,我們先來看日期,日期它是指某一天,例如2016-12-20,2017-1-1,日期要看成離散的,我們再來看時(shí)間,時(shí)間有兩種概念,一種是不帶日期的時(shí)間,例如,12:30:59,另一種是帶日期的時(shí)間,例如2017-1-1 20:21:59,這種帶日期的時(shí)間可以唯一確認(rèn)某一個(gè)時(shí)刻,我們用instant來表示一個(gè)時(shí)刻,我們再來看時(shí)區(qū)的概念,當(dāng)我們說2016年11月20號早晨8點(diǎn)一刻的時(shí)候,我們說的實(shí)際上是本地時(shí)間,也就是北京時(shí)間,但是這個(gè)時(shí)候地球上不同地方的人,同時(shí)看一眼手表,他們的各自的本地時(shí)間是不同的,比如倫敦的事件是0點(diǎn)一刻,巴黎的時(shí)間是1時(shí)一刻,東京的時(shí)間是9時(shí)一刻,紐約的時(shí)間是11月19號的19點(diǎn)一刻,所以不同的時(shí)區(qū)在同一刻本地時(shí)間是不同的,全球一共有24個(gè)時(shí)區(qū),我們把倫敦的時(shí)區(qū)稱為標(biāo)準(zhǔn)時(shí)區(qū),其它的時(shí)區(qū)按照東西偏移的角度來區(qū)分,北京所在的時(shí)區(qū)是東8區(qū)時(shí)區(qū)有幾種表示方式,一種是以GMT,或者UTC,加上時(shí)區(qū)偏移量,例如GMT+08:00,表示東八區(qū),GMT和UTC可以認(rèn)為是基本等價(jià)的,只是UTC是使用了更精準(zhǔn)的計(jì)時(shí),但是我們在開發(fā)程序的時(shí)候,可以忽略這兩者的誤差,因?yàn)橛?jì)算機(jī)的時(shí)鐘他在聯(lián)網(wǎng)的時(shí)候,是自動與時(shí)間服務(wù)器同步,還有一種時(shí)區(qū)是縮寫,例如CST,表示China Standard Time,也就是中國標(biāo)準(zhǔn)時(shí)間,但是CST也可以表示美國什么時(shí)間,最后一種是以國家城市表示的,例如Asia/Shanghai,注意這里的城市不是任意的城市,而是由國際組織規(guī)定的城市,因?yàn)闀r(shí)區(qū)的存在,我們可以看到,東八區(qū)的11月20號,早上的八點(diǎn)一刻,和西五區(qū)的11月19號晚上19點(diǎn)一刻,時(shí)區(qū)還不是最復(fù)雜的,更復(fù)雜的是夏令時(shí)Daylight Saving Time,所謂夏令時(shí)就是夏天開始的時(shí)候,時(shí)間往后拖一個(gè)小時(shí),夏天結(jié)束的時(shí)候時(shí)間往前推一個(gè)小時(shí),我們國家執(zhí)行過一段時(shí)間夏令時(shí),但是在1992年就廢除了,但是美國人現(xiàn)在還在執(zhí)行夏令時(shí),所以時(shí)間的換算就更加 復(fù)雜了,當(dāng)我們在11月20號的時(shí)候,用北京的8點(diǎn)一刻,換算成紐約的時(shí)間,它是11月19號19點(diǎn)一刻,但是由于夏令時(shí)的存在,如果我們在6月20號,用北京時(shí)間早上8點(diǎn)一刻,例如America/New York,雖然紐約也在西5區(qū),但是因?yàn)橄牧顣r(shí)的存在,在不同的日期,GMT時(shí)間和紐約時(shí)間可能是不一樣的
Locale的概念,Locale表示一個(gè)國家或地區(qū)的日期、時(shí)間、數(shù)字、貨幣等格式,例如zh_CN,表示中國的Locale,而en_US表示的是美國的Locale,中國的日期用年月日表示,而美國的日期用月日年表示計(jì)算機(jī)中用Locale在日期,時(shí)間,貨幣和字符串之間進(jìn)行計(jì)算,我們?nèi)绻O(shè)計(jì)一個(gè)電商網(wǎng)站,對于購買價(jià)格來講,中國用戶看到的是12000.00,而美國用戶看到的可能就是12,000,00,對于購買日期中國用戶可能看到的是2016-11-30,而美國用戶看到的可能就是11/30/2016,這個(gè)時(shí)候我們總結(jié)一下我們要理解日期,時(shí)間,時(shí)刻的概念,我們還要理解時(shí)區(qū)的概念,我們還要注意夏令時(shí),同一地區(qū)用GMT/UTC和城市表示的時(shí)區(qū)可能導(dǎo)致時(shí)間不同理解Locale用來針對當(dāng)?shù)赜脩袅?xí)慣格式化日期,時(shí)間,數(shù)字,貨幣等
?
總結(jié)
以上是生活随笔為你收集整理的日期和时间 - Java处理日期和时间的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 排序的总结(一级)
- 下一篇: Date - Java处理日期和时间