Date類的一個(gè)對(duì)象存儲(chǔ)自1970年1月1日午夜時(shí)代起經(jīng)過的毫秒數(shù)。 并表示時(shí)間的瞬間。
Date類默認(rèn)構(gòu)造函數(shù)使用當(dāng)前系統(tǒng)日期時(shí)間創(chuàng)建一個(gè)Date對(duì)象。
下面的代碼顯示了如何使用Date類。
import java.util.Date; public class Main { public static void main(String[] args) { Date currentDate = new Date(); System.out.println("Current date: " + currentDate); long millis = currentDate.getTime(); System.out.println("Current datetime in millis: " + millis); } }
上面的代碼生成以下結(jié)果。
日歷是一個(gè)抽象類。 GregorianCalendar類擴(kuò)展了Calendar類。
GregorianCalendar類有一個(gè)默認(rèn)的構(gòu)造函數(shù),它創(chuàng)建一個(gè)對(duì)象來表示當(dāng)前的datetime。
GregorianCalendar類還定義了我們可以用來創(chuàng)建特定日期的構(gòu)造函數(shù)。
我們還可以在特定時(shí)區(qū)創(chuàng)建日期。
import java.util.Calendar; import java.util.GregorianCalendar; import java.util.TimeZone; public class Main { public static void main(String[] args) { // Get the current date in the system default time zone GregorianCalendar currentDate = new GregorianCalendar(); System.out.println(currentDate.getTime()); // Get GregorianCalendar object representing March 21, 2014 07:30:45 AM GregorianCalendar someDate = new GregorianCalendar(2014, Calendar.MARCH, 21, 7, 30, 45); System.out.println(someDate.getTime()); // Get Indian time zone, which is GMT+05:30 TimeZone indianTZ = TimeZone.getTimeZone("GMT+05:30"); GregorianCalendar indianDate = new GregorianCalendar(indianTZ); System.out.println(indianDate.getTime()); } }
上面的代碼生成以下結(jié)果。
日期的月份部分范圍為0到11.一月為0,二月為1,依此類推。
get()與請(qǐng)求的字段返回datetime中的字段的值。
import java.util.Calendar; import java.util.GregorianCalendar; public class Main { public static void main(String[] args) { GregorianCalendar gc = new GregorianCalendar(); // current year value int year = gc.get(Calendar.YEAR); System.out.println(year); // current month value int month = gc.get(Calendar.MONTH); System.out.println(month); // day of month int day = gc.get(Calendar.DAY_OF_MONTH); System.out.println(day); // hour value int hour = gc.get(Calendar.HOUR); System.out.println(hour); // minute value int minute = gc.get(Calendar.MINUTE); System.out.println(minute); // second values int second = gc.get(Calendar.SECOND); System.out.println(second); } }
上面的代碼生成以下結(jié)果。
add()
向日期添加一個(gè)值。 金額可以是負(fù)數(shù)或正數(shù)。 日歷知道如何調(diào)整。
import java.util.Calendar; import java.util.GregorianCalendar; public class Main { public static void main(String[] args) { GregorianCalendar gc = new GregorianCalendar(2014, Calendar.DECEMBER, 1); gc.add(Calendar.MONTH, 5); System.out.println(gc.getTime()); } }
上面的代碼生成以下結(jié)果。
roll()
向指定的日歷字段添加金額,而不更改較大的字段。
這是一個(gè)重載的方法。
void roll(int field, int amount) void roll(int field, boolean up)
假設(shè)我們將GregorianCalendar設(shè)置為1999年8月31日。調(diào)用roll(Calendar.MONTH,8)將日歷設(shè)置為1999年4月30日.DAY_OF_MONTH字段在四月份不能為31。 DAY_OF_MONTH被設(shè)置為最接近的可能值30.YEAR字段保持1999的值,因?yàn)樗潜萂ONTH大的字段。
roll(Calendar.MONTH,1)與roll相同(Calendar。MONTH,true)。
roll(Calendar.MONTH,-1)與roll(Calendar.MONTH,false)相同。
import java.util.Calendar; import java.util.GregorianCalendar; public class Main { public static void main(String[] args) { GregorianCalendar gc = new GregorianCalendar(); System.out.println("Current Date: " + gc.getTime()); // Add 1 year gc.add(Calendar.YEAR, 1); System.out.println(gc.getTime()); // Add 15 days gc.add(Calendar.DATE, 15); System.out.println(gc.getTime()); } }
上面的代碼生成以下結(jié)果。
更多建議: