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