日期操作

<small>
日期的簡(jiǎn)單操作:獲得日期古程、日期設(shè)置、日期計(jì)算
Java 中沒有一個(gè)類筷屡,可以直接完成日期操作
要想實(shí)現(xiàn) Java 中的日期操作芜辕,必須有以下三個(gè)類共同搭配使用擅耽,才能實(shí)現(xiàn)
java.util.Date 日期類:獲得當(dāng)前系統(tǒng)時(shí)間
java.text.simpleDateFormat日期格式轉(zhuǎn)換類,可以實(shí)現(xiàn)日期格式的想換轉(zhuǎn)換
java.util.Calendar 日歷類物遇,格里高利歷實(shí)現(xiàn)日期設(shè)置

java.util.Date

1乖仇、通過構(gòu)造獲得當(dāng)前系統(tǒng)時(shí)間
此時(shí)間表現(xiàn)方式為西方時(shí)間格式

Date nowDate=new Date();
System.out.println(nowDate);//當(dāng)前時(shí)間
long getTime()

返回從1970年元月1日零時(shí)零分零秒至今的毫秒值
與 System,currentTimeMillis();相同

void setTime(long times)

返回給定毫秒值對(duì)應(yīng)的日期時(shí)間
用于設(shè)置給定毫秒值對(duì)應(yīng)的時(shí)期時(shí)間询兴;

long times2=100000000000000000L;
nowDate.setTime(times); 返回給 nowDate

此方法不好乃沙,可以用有參構(gòu)造
Date futureDate=new Date(times2)

java.text.simpleDateFormat

由于new Date()獲得當(dāng)前系統(tǒng)時(shí)間,為西方表示方式诗舰,對(duì)于中國人來說警儒,不死十分友好,素有我們需要將西方表示方式轉(zhuǎn)換成中國人比較習(xí)慣的表現(xiàn)方式

中國人習(xí)慣的方式:
2016年10月13日 15時(shí)07分38秒
2016-10-13 15:07:38
y: 年
M: 月
d :月份中的天數(shù)
H: 24小時(shí)制
h :12小時(shí)制
m:分
s: 秒
2016年10月13日 15時(shí)07分38秒
yyyy 年 MM 月 dd 日 HH 時(shí)mm 分 ss 秒

SimpleDateFormat sdf=new SimpleDateFormat("yyyy 年 MM 月 dd 日 HH 時(shí)mm 分 ss 秒")
通過制定日期格式轉(zhuǎn)換對(duì)象將 new Date()系統(tǒng)時(shí)間轉(zhuǎn)換為指定日期格式的表現(xiàn)形式

Date date=new Date()眶根;
Date→String
String nowDate=sdf.format(date);
parse

將中方的時(shí)間轉(zhuǎn)換為西方的時(shí)間
String→Date 將字符串時(shí)間轉(zhuǎn)為 Date
此方法可能拋出異常
情形1:如果格式?jīng)]有問題蜀铲,字符串時(shí)間輸入沒有問題,則不會(huì)拋出異常
情形2:如果格式有問題属百,或者字符串時(shí)間輸入對(duì)不上號(hào)則會(huì)拋出異常

String dateStr="2008年08月08日 20時(shí)08分08秒"
SimpleDateFormat sdf=new SimpleDateFormat("yyyy 年 MM 月 dd 日 HH 時(shí)mm 分 ss 秒")
Date parse(String dateStr)记劝;//中方字符串時(shí)間格式化,將字符串時(shí)間通過指定格式轉(zhuǎn)換為 date 類型時(shí)間
Date date=sdf2.parase(dateStr)

java.util.Calendar

創(chuàng)建對(duì)象族扰,由于 Calendar 是一個(gè)抽象類厌丑,可以通過父類引用指向子類 GregorianCalendar對(duì)象方式實(shí)現(xiàn)實(shí)例化//不常用

Calendar cal=new GregorianCalendar()//不常用
可以通過工廠方法模式
Calendar cal2=Calendar.getInstance();
Date getTime()

從日歷中獲得當(dāng)前系統(tǒng)時(shí)間定欧,與 new Date()直接獲得當(dāng)前系統(tǒng)時(shí)間等效

void setTime()

給日歷指定的日期時(shí)間

Date date2=new new SimpleDateFormat("yyyy 年 MM 月 dd 日 HH 時(shí)mm 分 ss 秒").parse("2008年08月08日20時(shí)08分08秒")

①、Date getTime()
* Calendar → Date
* 從日歷中獲得當(dāng)前系統(tǒng)時(shí)間怒竿。
* 與new Date()直接獲得當(dāng)前系統(tǒng)時(shí)間等效砍鸠。
*/
Date date = new Date();
System.out.println("new Date:"+date);

    Date dateFromCal = cal.getTime();
    System.out.println("dateFromCal:"+dateFromCal);
    
    /*
     * ②、void setTime()
     *      Date → Calendar 
     *      給日歷設(shè)置指定的日期時(shí)間耕驰。
     */
    Date date2 = 
        new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
            .parse("2008-08-08 20:08:08");
    //將日歷設(shè)置時(shí)間為date2
    cal.setTime(date2);
    System.out.println("setTime之后的日歷時(shí)間:"+cal.getTime());
    
    /*
long getTimeInMillis()

long times=cal.getTimeInMillis()
####### setTimeInMillis

![時(shí)間轉(zhuǎn)換](http://upload-images.jianshu.io/upload_images/66256-42884bcfddcf17e7.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


####### 時(shí)間分量函數(shù)
時(shí)間分量:
YEAR  年  
MONTH 月
DATE  日
DAY_OF_MONTH
HOUR 時(shí)(12小時(shí)制)
HOUR_OF_DAY 時(shí)(24小時(shí))
MINUTE 分
SECOND 秒
DAY_OF_WEEK(周日為一周的開始)

calendar cal=Calendar.getInstance();
System.out.println(年:cal.get(calendar.YEAR));//2016
System.out.println(年:cal.get(calendar.MONTH));//9表示10月爷辱,0 表示1

######cal.set(Calendar.YEAR,2017)
其他設(shè)置類似
設(shè)置日歷為日歷時(shí)間所在周的周幾
  • void add(時(shí)間分量,值)
    */
    cal.add(Calendar.DATE, -3);//三天前
    System.out.println("三天前的時(shí)間:"+cal.getTime());

      cal.add(Calendar.MINUTE, 10);//10分鐘后
      System.out.println("10分鐘的時(shí)間:"+cal.getTime());
      
      cal.add(Calendar.MONTH, 4);//4個(gè)月后
      System.out.println("4個(gè)月后的時(shí)間:"+cal.getTime());
    





######時(shí)間分量的運(yùn)算
時(shí)間計(jì)算:如明天此時(shí)10分鐘后等我,四個(gè)月后結(jié)束
###### void add(時(shí)間分量朦肘,值)
cal.add(Calendar.DATE,-3)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末托嚣,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子厚骗,更是在濱河造成了極大的恐慌,老刑警劉巖兢哭,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件领舰,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡迟螺,警方通過查閱死者的電腦和手機(jī)冲秽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來矩父,“玉大人锉桑,你說我怎么就攤上這事∏现辏” “怎么了民轴?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)球订。 經(jīng)常有香客問我后裸,道長(zhǎng),這世上最難降的妖魔是什么冒滩? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任微驶,我火速辦了婚禮,結(jié)果婚禮上开睡,老公的妹妹穿的比我還像新娘因苹。我一直安慰自己,他們只是感情好篇恒,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布扶檐。 她就那樣靜靜地躺著,像睡著了一般胁艰。 火紅的嫁衣襯著肌膚如雪蘸秘。 梳的紋絲不亂的頭發(fā)上官卡,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音醋虏,去河邊找鬼寻咒。 笑死,一個(gè)胖子當(dāng)著我的面吹牛颈嚼,可吹牛的內(nèi)容都是我干的毛秘。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼阻课,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼叫挟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起限煞,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤抹恳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后署驻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奋献,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年旺上,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瓶蚂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡宣吱,死狀恐怖窃这,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情征候,我是刑警寧澤杭攻,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站疤坝,受9級(jí)特大地震影響朴上,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜卒煞,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一痪宰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧畔裕,春花似錦衣撬、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至甜无,卻和暖如春扛点,著一層夾襖步出監(jiān)牢的瞬間哥遮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來泰國打工陵究, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留眠饮,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓铜邮,卻偏偏與公主長(zhǎng)得像仪召,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子松蒜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • java.util.Clendar 日歷類扔茅,該類是一個(gè)抽象類,封裝了針對(duì)日期進(jìn)行操作的一些方法秸苗,比如時(shí)間計(jì)算等召娜。 ...
    隴上伯約閱讀 589評(píng)論 0 2
  • 之前一直強(qiáng)調(diào)java類的概念,java類與數(shù)據(jù)庫表的映射惊楼,數(shù)據(jù)表的日期字段一直沒有映射玖瘸。 今天研究一下Java.u...
    起風(fēng)了dzj閱讀 187評(píng)論 0 0
  • /*得到當(dāng)前系統(tǒng)日期 Date類*/ Date date =new Date();//實(shí)例化Date類對(duì)象 dat...
    子玲2017閱讀 290評(píng)論 0 0
  • import java.text.SimpleDateFormat;import java.util.Calend...
    霙愔閱讀 751評(píng)論 0 2
  • 突然感知?jiǎng)荼貢?huì)來的傷害 我很慶幸你能淡定的走開 不愿你一起承受結(jié)局的壞 不愿接受撫平的心魔作怪 無需重復(fù)那些無助的...
    墨度閱讀 195評(píng)論 0 13