2021-04-18 11:37  阅读(59)
文章分类:Java 基础教程 文章标签:JavaJava 教程
©  原文作者:w3cschool 原文地址:https://www.w3cschool.cn/java/java-date-time-methods.html

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

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

20210418113111_1.png

遗留日历

日历是一个抽象类。 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());
      }
    
    }
    

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

2021041811319_2.png

领域

日期的月份部分范围为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);
      }
    
    }
    

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

2021041811318_3.png

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

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

2021041811313_4.png

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

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

2021041811311_5.png

点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> Java 遗留日期日历
上一篇
Java 日期和时间解析
下一篇
Java 日期时间传统互操作性