100个Java工具类之53:日历类Calendar

createh56个月前 (12-27)技术教程58

Calendar类主要作用是提供日期转换。

它是一个抽象类,需调用特定方法getInstance来获取实例。

下文是对其通用用法的介绍。

一、获取当前时间

//获取当前时间 返回Date类型
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
输出:Thu Aug 24 14:57:31 CST 2023
//获取固定时间
Calendar calendar = Calendar.getInstance();
calendar.set(2023, 8, 1, 1, 0, 0);
Date date = calendar.getTime();
输出:Fri Sep 01 01:00:00 CST 2023
//年份
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
输出:2023
//月份
int month = calendar.get(Calendar.MONTH) + 1;
输出:8
//日期
int date = calendar.get(Calendar.DATE);
输出:24
//当年第几个星期
int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);
输出:34
//当月第几个星期
int weekOfMonth = calendar.get(Calendar.WEEK_OF_MONTH);
输出:4
//当年第几天
int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
输出:236
//当月第几天
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
输出:24
//当周第几天
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1;
输出:4
//小时(12小时制)
int hour = calendar.get(Calendar.HOUR);
输出:3
//小时(24小时制)
int hourOfDay = calendar.get(Calendar.HOUR_OF_DAY);
输出:15
//分钟
int minute = calendar.get(Calendar.MINUTE);
输出:11
//秒
int second = calendar.get(Calendar.SECOND);
输出:25
//毫秒
int millis = calendar.get(Calendar.MILLISECOND);
输出:622

二、获取指定时间

//获取当前日期在指定年的日期
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 2024);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String date = format.format(calendar.getTime());
输出:2024-08-24
//获取5个月后的日期
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, 5);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String date = format.format(calendar.getTime());
输出:2024-01-24
//roll与add区别是:roll处理日期时,当超出范围时,会从头开始算
//比如,当前日是24,加11是35,但35超出了8月日的限制31,所以从头开始算是35-31=4
Calendar calendar = Calendar.getInstance();
calendar.roll(Calendar.DAY_OF_MONTH, 11);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String date = format.format(calendar.getTime());
输出:2023-08-04

累了困了,欣赏肌肤水墨画吧~

相关文章

java组件huTool日期DateUtil工具的使用

Hutool是一个Java工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法。日期处理也是日常工作中常用到的,下面说一下工具下用到的一些方法。计算between(Date begin...

详细介绍一下Spring Boot中对于日期时间数据类型的处理?

时间和日期处理是在日常开发工作中比较重要的一个处理操作,在SpringBoot应用程序中,对于时间和日期的处理涉及到了程序处理的各个方面的内容,包括了对于数据库中的时间日期的存储、如何接受接口中传入的...

每天带你学java:Calendar类 java里calendar

每天学习一点点,一定要手动写噢!看会了是知识,能手动敲出来才会转化为你的技能。技能是练出来的,不是看出来的噢Calendar是抽象类,不能创建对象,Calendar类提供了静态方法 getInstan...