Java中Calendar类的常用方法
2023-09-14 09:06:16 时间
Calendar类常用方法的记录:
获取时间
// 使用默认时区和语言环境获得一个日历
Calendar cal = Calendar.getInstance();
// 赋值时年月日时分秒常用的6个值,注意月份下标从0开始,所以取月份要+1
System.out.println("年:" + cal.get(Calendar.YEAR));
System.out.println("月:" + (cal.get(Calendar.MONTH) + 1));
System.out.println("日:" + cal.get(Calendar.DAY_OF_MONTH));
System.out.println("时:" + cal.get(Calendar.HOUR_OF_DAY));
System.out.println("分:" + cal.get(Calendar.MINUTE));
System.out.println("秒:" + cal.get(Calendar.SECOND));
今天是 2022年 2 月 24日,运行结果:
年:2022
月:2
日:24
时:20
分:38
秒:47
设置时间
月份的下标从 0 开始,设置时同样需要注意,比如我们设置为 2 月 15 日除夕当晚的倒计时的最后一秒: 2018-02-15 23:59:59
可以这样:
Calendar cal = Calendar.getInstance();
// 如果想设置为某个日期,可以一次设置年月日时分秒,由于月份下标从0开始赋值月份要-1
// cal.set(year, month, date, hourOfDay, minute, second);
cal.set(2018, 1, 15, 23, 59, 59);
或者也可以单个字段一一设置:
// 或者6个字段分别进行设置,由于月份下标从0开始赋值月份要-1
cal.set(Calendar.YEAR, 2018);
cal.set(Calendar.MONTH, Calendar.FEBRUARY);
cal.set(Calendar.DAY_OF_MONTH, 15);
cal.set(Calendar.HOUR_OF_DAY, 23);
cal.set(Calendar.MINUTE, 59);
cal.set(Calendar.SECOND, 59);
System.out.println(cal.getTime());
打印的时间结果为:
Thu Feb 15 23:59:59 CST 2018
时间计算
add方法:
比如在除夕当晚最后一秒,add 一秒:
Calendar cal = Calendar.getInstance();
System.out.println(cal.getTime());
cal.set(2018, 1, 15, 23, 59, 59);
cal.add(Calendar.SECOND, 1);
System.out.println(cal.getTime());
打印时间结果如下,日期会自动进入下一天:
Thu Feb 15 23:59:59 CST 2018
Fri Feb 16 00:00:00 CST 2018
再比如 1 月 31 号的时候,月份加一,会出现怎样结果:
Calendar cal = Calendar.getInstance();
cal.set(2018, 1, 31, 8, 0, 0);
System.out.println(cal.getTime());
cal.add(Calendar.MONTH, 1);
System.out.println(cal.getTime());
运行结果:
Wed Jan 31 08:00:00 CST 2018
Wed Feb 28 08:00:00 CST 2018
说明 add 月份时,会将不存在的日期归为当月日历的最后一天。
相关文章
- Java截取字符串的常见方法「建议收藏」
- java pfx 证书_Java将pfx证书转换为jks[通俗易懂]
- Java Scanner类的常用方法及用法(很详细)
- java数组去重_JAVA数组去重常用方法
- java获取服务器路径_JAVA获取服务器路径的方法「建议收藏」
- java setproperty 未生效_Java System类setProperty()方法及示例[通俗易懂]
- java常量池在方法区还是堆_JAVA常量池
- java 取当前时间年月日_Java获取当前时间年月日的方法[通俗易懂]
- java executeupdate_Java自学-JDBC execute与executeUpdate的区别
- JAVA生成uuid_java接口default方法
- java 设置400错误_Java项目报400错误的原因与解决方法
- Java-String类的作用和常用方法总结
- java 数字信封_【Java密码学】使用Bouncy Castle生成数字签名、数字信封
- Java-String的常用方法总结
- 你知道Java 8 的方法引用吗
- java判断字符串数组是否有效相关的工具类常用方法详解编程语言
- java中的String字符串的常用方法详解编程语言
- Java封装MySQL让编程更简单(java封装mysql)
- 数据库Java实现Oracle数据库监控(java监听oracle)
- Linux下查看Java进程的方法(linux查看java进程)
- 处理Java调用Redis处理过期Key的有效方法(redisjava过期)
- MacOS下Java开发环境搭建指南(macos开发java)
- 如何在Linux中停止运行Java程序(linux停止java)
- Linux下Java命令的使用方法简介(linux下java命令)
- Java模拟Oracle实现稳定数据库性能(java模仿oracle)
- 解析Java线程同步锁的选择方法
- 基于Java生成GUID的实现方法
- Java中的this指针使用方法分享