原創(chuàng)作品,可以轉(zhuǎn)載,但是請(qǐng)標(biāo)注出處地址:http://www.cnblogs.com/V1haoge/p/7136575.html
1、Calendar概述
Java官方推薦使用Calendar來替換Date的使用,Calendar與Date之間可以自由的進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換的紐帶是time,使用Calendar的getTime()方法可以得到一個(gè)Date類型的對(duì)象,這個(gè)對(duì)象底層是使用Date的第二個(gè)帶Long型參數(shù)的構(gòu)造器創(chuàng)建的,這個(gè)Long型參數(shù)是Calendar中的time字段中保存的值,這個(gè)time字段的值是在具體的實(shí)現(xiàn)類中定義賦值的比如GregorianCalendar中的實(shí)現(xiàn)computeTime(),這個(gè)方法的目的就是將field值轉(zhuǎn)換為time值,這個(gè)涉及到Calendar中的兩種模式,之后會(huì)有介紹;而通過Calendar的setTime(Date date)方法可以將一個(gè)Date對(duì)象轉(zhuǎn)換為一個(gè)Calendar對(duì)象,這個(gè)方法以一個(gè)Date對(duì)象為參數(shù),底層調(diào)用的setTimeInMillis(long millis)方法,將date.getTime()的值作為參數(shù),再底層會(huì)將這個(gè)Long型參數(shù)值賦值給time字段,這時(shí)會(huì)重計(jì)算field值。
Calendar與Date的轉(zhuǎn)換
1 public static void main(String[] args) { 2 //Calendar--->Date 3 Calendar c = Calendar.getInstance(); 4 Date d = c.getTime(); 5 //Date--->Calendar 6 Date d1 = new Date(); 7 Ca