Java 遗留日期日历

2018-03-12 16:13 更新

Java日期时间 - Java遗留日期日历


Date类的一个对象存储自1970年1月1日午夜时代起经过的毫秒数。 并表示时间的瞬间。

Date类默认构造函数使用当前系统日期时间创建一个Date对象。

例子

下面的代码显示了如何使用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);

  }

}

上面的代码生成以下结果。


遗留日历

日历是一个抽象类。 GregorianCalendar类扩展了Calendar类。

构造函数

GregorianCalendar类有一个默认的构造函数,它创建一个对象来表示当前的datetime。

GregorianCalendar类还定义了我们可以用来创建特定日期的构造函数。

我们还可以在特定时区创建日期。

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

}

上面的代码生成以下结果。


领域

日期的月份部分范围为0到11.一月为0,二月为1,依此类推。

get()与请求的字段返回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);
  }

}

上面的代码生成以下结果。

add()

add()向日期添加一个值。 金额可以是负数或正数。 日历知道如何调整。

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

上面的代码生成以下结果。

roll()

roll()向指定的日历字段添加金额,而不更改较大的字段。

这是一个重载的方法。

void  roll(int field, int amount)
void  roll(int field, boolean up)

假设我们将GregorianCalendar设置为1999年8月31日。调用roll(Calendar.MONTH,8)将日历设置为1999年4月30日.DAY_OF_MONTH字段在四月份不能为31。 DAY_OF_MONTH被设置为最接近的可能值30.YEAR字段保持1999的值,因为它是比MONTH大的字段。

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

上面的代码生成以下结果。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号