ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java的时间处理类----日历类Calendar类,TimeZone类时区相关类

2021-09-10 17:01:33  阅读:208  来源: 互联网

标签:java int 类时区 System ---- println TimeZone Calendar out


Calendar类

定义:
  • Calendar是一个抽象类,它用于表示日历
  • 不能使用构造器来创建Calendar对象。但它提供了几个静态getInstance()方法来获取Calendar对象,这些方法根据TimeZone,Locale类来获取特定的Calendar,如果不指定TimeZone、Locale(时区),则使用默认的TimeZone、Locale来创建Calendar
Calendar与Date的相互转换
  1. Calendar -----> Date:通过Calendar的getTime();获得Date对象

import java.util.Calendar;
import java.util.Date;

public class Time {
    public static void main(String[] args) throws InterruptedException {
        Calendar c = Calendar.getInstance();
        Date time = c.getTime();
        System.out.println(c);
        System.out.println(time);
    }
}

  • 结果
    在这里插入图片描述
  1. Date: ----->Calendar:通过Calendar的setTime(Date date)方法

import java.util.Calendar;
import java.util.Date;

public class Time {
    public static void main(String[] args) throws InterruptedException {
       Date date = new Date();
       Calendar c = Calendar.getInstance();
       c.setTime(date);
        System.out.println(date);
        System.out.println(c);
    }
}

  • 结果
    在这里插入图片描述
Calendar类的常用方法
  • void add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。
  • int get(int field):返回指定日历字段的值。
  • int getActualMaximum(int field):返回指定日历字段可能拥有的最大值。例如月,最大值为11。
  • int getActualMinimum(int field):返回指定日历字段可能拥有的最小值。例如月,最小值为0。
  • void roll(int field, int amount):与add()方法类似,区别在于加上amount后超过了该字段所能表示的最大范围时,也不会向上一个字段进位。
  • void set(int field, int value):将给定的日历字段设置为给定值。
  • void set(int year, int month, int date):设置Calendar对象的年、月、日3个字段的值。
  • void set(int year, int month, int date, int hourOfDay, int minute, intsecond):设置Calendar对象的年、月、日、时、分、秒6个字段的值。
  • 代码

import java.time.Month;
import java.util.Calendar;
import java.util.Date;

public class Time {
    public static void main(String[] args) throws InterruptedException {
       Calendar c = Calendar.getInstance();
       //取出年
        System.out.println(c.get(Calendar.YEAR));
        //取出月   1月从0开始
        System.out.println(c.get(Calendar.MONTH));
        //取出日
        System.out.println(Calendar.DATE);
        //设置为2019年1月1日 1:1:1
        c.set(2019,1,1,1,1,1);
        System.out.println(c.getTime());
        //增加一年
        c.add(Calendar.YEAR,1);
        System.out.println(c.getTime());
    }
}

  • 结果
    在这里插入图片描述

TimeZone类时区相关类

定义
  • 定义:TimeZone是一个抽象类,不能调用其构造器来创建实例,但可以调用它的静态方法:getDefault()或getTimeZone()得到TimeZone实例
相关方法
  • static String[] getAvailableIDs():获取Java所支持的所有时区ID。
  • static TimeZone getDefault():获取运行机器上默认的时区。
  • String getDisplayName():获取该TimeZone对象的时区名称。
  • String getID():获取该时区的ID。
  • static TimeZone getTimeZone(String ID):获取指定ID对应的TimeZone对象。
import java.util.Arrays;
import java.util.TimeZone;

public class Time {
    public static void main(String[] args) throws InterruptedException {
       //获得java支持的时区
        String[] ids = TimeZone.getAvailableIDs();
        System.out.println("java支持的时区:"+ Arrays.toString(ids));
        //获取机器上默认的时区对象
        TimeZone my = TimeZone.getDefault();
        //根据时区对象,获取时区ID
        System.out.println("系统默认时区ID:"+my.getID());
        //根据时区对象,获取时区名称
        System.out.println("系统默认时区名称:"+my.getDisplayName());
        //获取指定ID对应的TimeZone对象的时区名称
        System.out.println("GNT的时区名称:"+TimeZone.getTimeZone("GNT").getDisplayName());
    }
}

  • 结果
    在这里插入图片描述

标签:java,int,类时区,System,----,println,TimeZone,Calendar,out
来源: https://blog.csdn.net/qq_45147076/article/details/120223626

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有