Java 遺留日期日歷

2018-03-12 16:13 更新

Java日期時(shí)間 - Java遺留日期日歷


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類。

構(gòu)造函數(shù)

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é)果。


領(lǐng)域

日期的月份部分范圍為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()

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()

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é)果。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)