資源描述:
《JAVA處理日期時(shí)間常用方法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、JAVA處理日期時(shí)間常用方法:java.util.CalendarCalendar類是一個(gè)抽象類,它為特定瞬間與一組諸如YEAR、MONTH、DAY_OF_MONTH、HOUR等日歷字段之間的轉(zhuǎn)換提供了一些方法,并為操作日歷字段(例如獲得下星期的日期)提供了一些方法。瞬間可用毫秒值來表示,它是距歷元(即格林威治標(biāo)準(zhǔn)時(shí)間1970年1月1日的00:00:00.000,格里高利歷)的偏移量。例:Calendarcal=Calendar.getInstance();//使用默認(rèn)時(shí)區(qū)和語言環(huán)境獲得一個(gè)日歷。cal.add(Calendar.DAY_OF_MONTH,-1);//取當(dāng)前日期的前一天.c
2、al.add(Calendar.DAY_OF_MONTH,+1);//取當(dāng)前日期的后一天.//通過格式化輸出日期java.text.SimpleDateFormatformat=newjava.text.SimpleDateFormat("yyyy-MM-dd");System.out.println("Todayis:"+format.format(Calendar.getInstance().getTime()));System.out.println("yesterdayis:"+format.format(cal.getTime()));得到2007-12-25日期:Calenda
3、rcalendar=newGregorianCalendar(2007,11,25,0,0,0);Datedate=calendar.getTime();System.out.println("2007Christmasis:"+format.format(date));//java月份是從0-11,月份設(shè)置時(shí)要減1.//GregorianCalendar構(gòu)造方法參數(shù)依次為:年,月-1,日,時(shí),分,秒.取日期的部分:intyear=calendar.get(Calendar.YEAR);intmonth=calendar.get(Calendar.MONTH)+1;intday=calen
4、dar.get(Calendar.DAY_OF_MONTH);inthour=calendar.get(Calendar.HOUR_OF_DAY);intminute=calendar.get(Calendar.MINUTE);intseconds=calendar.get(Calendar.SECOND);取月份要加1.判斷當(dāng)前月份的最大天數(shù):Calendarcal=Calendar.getInstance();intday=cal.getActualMaximum(Calendar.DAY_OF_MONTH);System.out.println(day);java.util.Date
5、類Date表示特定的瞬間,精確到毫秒。從JDK1.1開始,應(yīng)該使用Calendar類實(shí)現(xiàn)日期和時(shí)間字段之間轉(zhuǎn)換,使用DateFormat類來格式化和分析日期字符串。Date中的相應(yīng)方法已廢棄。盡管Date類打算反映協(xié)調(diào)世界時(shí)(UTC),但無法做到如此準(zhǔn)確,這取決于Java虛擬機(jī)的主機(jī)環(huán)境。當(dāng)前幾乎所有操作系統(tǒng)都假定1天=24×60×60=86400秒。但對(duì)于UTC,大約每一兩年出現(xiàn)一次額外的一秒,稱為“閏秒”。閏秒始終作為當(dāng)天的最后一秒增加,并且始終在12月31日或6月30日增加。例如,1995年的最后一分鐘是61秒,因?yàn)樵黾恿碎c秒。大多數(shù)計(jì)算機(jī)時(shí)鐘不是特別的準(zhǔn)確,因此不能反映閏秒的差別。
6、在類Date所有可以接受或返回年、月、日期、小時(shí)、分鐘和秒值的方法中,將使用下面的表示形式:年份y由整數(shù)y-1900表示?!ぴ路萦蓮?至11的整數(shù)表示;0是一月、1是二月等等;因此11是十二月。·日期(一月中的某天)按通常方式由整數(shù)1至31表示?!ばr(shí)由從0至23的整數(shù)表示。因此,從午夜到1a.m.的時(shí)間是0點(diǎn),從中午到1p.m.的時(shí)間是12點(diǎn)?!し昼姲赐ǔ7绞接?至59的整數(shù)表示?!っ胗?至61的整數(shù)表示;值60和61只對(duì)閏秒發(fā)生,盡管那樣,也只用在實(shí)際正確跟蹤閏秒的Java實(shí)現(xiàn)中。于按當(dāng)前引入閏秒的方式,兩個(gè)閏秒在同一分鐘內(nèi)發(fā)生是極不可能的,但此規(guī)范遵循ISOC的日期和時(shí)間約定。在所有
7、情形中,針對(duì)這些目的賦予方法的參數(shù)不需要在指定的范圍內(nèi);例如,可以把日期指定為1月32日,并把它解釋為2月1日的相同含義。java.util.Datetoday=newjava.util.Date();System.out.println("Todayis"+formats.format(today));取當(dāng)月的第一天:java.text.SimpleDateFormatformat=newjava.text.Simpl