Java——Calendar
2021/5/14 20:31:02
本文主要是介绍Java——Calendar,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、介绍
java.util.Calendar类表示日历,内含有各种时间信息,以及获取,计算时间的方法。Calendar本身是一个抽象类,有直接子类GregorianCalendar,使用时需要有日历对象,可以借助子类的构造方法创建对象,也可以通过Calendar提供的静态方法getInstance日历对象。
Calendar c = Calendar.getInstance(); // 静态方法
二、getInstance
public static Calendar getInstance()
getInstance是Calendar类中的一个静态方法,用来获取它的子类GregorianCalendar对象。
三、日历字段值
接下来的三个方法都有一个整数类型参数field,这里说明一下,field用来区分当前要获取或者操作的日期时间数据的。field数据的值使用Calendar中定义的整数常量来表示,如下
Calendar.YEAR // 年 Calendar.MONTH // 月 Calendar.DAY_OF_MONTH // 月中的日期 Calendar.HOUR // 小时 Calendar.MINUTE // 分钟 Calendar.SECOND // 秒 Calendar.DAY_OF_WEEK // 星期
四、get
public int get(int field) // field 是 日历字段值
get方法用来获取指定日历字段的时间值。
案例
public class CalendarTest { public static void main(String[] args) { Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); System.out.println(year); // 2021 } }
五、set
public void set(int field, int value) // field是日历字段值,value是要修改的值
set方法用来设置指定字段的时间值。
案例,例如我想把时间改为2021年5月1号
public class CalendarTest { public static void main(String[] args) { Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, 2021); c.set(Calendar.MONTH, 4); c.set(Calendar.DATE, 1); System.out.println(c.get(Calendar.YEAR) + "-" + (c.get(Calendar.MONTH) + 1) + "-" + c.get(Calendar.DATE)); // 2021-5-1 } }
set方法也提供了许多重载方法,方便我们一次性设置年、月、日之类的操作,比如上面的代码可以简化为如下
public class CalendarTest { public static void main(String[] args) { Calendar c = Calendar.getInstance(); c.set(2021,4,1); System.out.println(c.get(Calendar.YEAR) + "-" + (c.get(Calendar.MONTH) + 1) + "-" + c.get(Calendar.DATE)); // 2021-5-1 } }
六、add
public void add(int field, int amount) // field 是日历字段值,amount是增加/减少的值
add方法用来为某个字段增加/减少指定的值
案例,比如在当前日期的基础上增加一星期
public class CalendarTest { public static void main(String[] args) { Calendar c = Calendar.getInstance(); c.set(2021,4,1); System.out.println(c.get(Calendar.YEAR) + "-" + (c.get(Calendar.MONTH) + 1) + "-" + c.get(Calendar.DATE)); // 2021-5-1 c.add(Calendar.WEEK_OF_YEAR, 1); System.out.println(c.get(Calendar.YEAR) + "-" + (c.get(Calendar.MONTH) + 1) + "-" + c.get(Calendar.DATE)); // 2021-5-8 } }
这里也可以后退时间,只需改变的值设为负数即可,如下
public class CalendarTest { public static void main(String[] args) { Calendar c = Calendar.getInstance(); c.set(2021,4,8); System.out.println(c.get(Calendar.YEAR) + "-" + (c.get(Calendar.MONTH) + 1) + "-" + c.get(Calendar.DATE)); // 2021-5-8 c.add(Calendar.WEEK_OF_YEAR, -1); System.out.println(c.get(Calendar.YEAR) + "-" + (c.get(Calendar.MONTH) + 1) + "-" + c.get(Calendar.DATE)); // 2021-5-1 } }
这篇关于Java——Calendar的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现