java的时间处理类----日历类Calendar类,TimeZone类时区相关类
2021/9/10 17:05:01
本文主要是介绍java的时间处理类----日历类Calendar类,TimeZone类时区相关类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Calendar类
定义:
- Calendar是一个抽象类,它用于表示日历
- 不能使用构造器来创建Calendar对象。但它提供了几个静态getInstance()方法来获取Calendar对象,这些方法根据TimeZone,Locale类来获取特定的Calendar,如果不指定TimeZone、Locale(时区),则使用默认的TimeZone、Locale来创建Calendar
Calendar与Date的相互转换
- 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); } }
- 结果
- 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的时间处理类----日历类Calendar类,TimeZone类时区相关类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-28MQ底层原理资料详解:新手入门教程
- 2024-11-28MQ项目开发资料详解:新手入门教程
- 2024-11-28MQ项目开发资料详解:入门与初级用户指南
- 2024-11-28MQ消息队列资料入门教程
- 2024-11-28MQ消息队列资料:新手入门详解
- 2024-11-28MQ消息中间件资料详解与应用教程
- 2024-11-28MQ消息中间件资料入门教程
- 2024-11-28MQ源码资料详解与入门教程
- 2024-11-28MQ源码资料入门教程
- 2024-11-28RocketMQ底层原理资料详解