java中 Calendar日历方法使用
Calendar 类
抽象类 Calendar 提供了一组方法,允许把以毫秒为单位的时间转换成一些有用的时间组成部分。Calendar 不能直接创建对象,但可以使用静态方法 getInstance() 获得代表当前日期的日历对象,如:
Calendar cal = Calendar.getInstance();
Calendar的常用属性
属性 | 作用 |
YEAR | 年份 |
MONTH | 月份 |
DATE | 同DAY_OF_MONTH,日期 |
DAY_OF_MONTH | 同DATE,日期 |
DAY_OF_YEAR | 这一天是这一年中的第几天 |
DAY_OF_WEEK_IN_MONTH | 当前月中的第几周 |
DAY_OF_WEEK | 一周中的第几天 / 星期 |
HOUR | 12小时制的时间 |
HOUR_OF_DAY | 24小时制的时间 |
MINUTE | 分钟数 |
SECOND | 秒数 |
MILLISECOND | 毫秒 |
Calendar的常用方法:
方法 | 效果 |
public static Calendar getInstance(TimeZone zone,Locale aLocale) | 获得一个日历对象 |
public int get(int field) | 传入field字段获得给定日历字段的值 |
public final void set(int year,int month,int date,int hourOfDay,int minute,int second) | 设置日历对象代表的时间 |
public final void setTime(Date date) | 使用给定的 Date 设置此 Calendar 的时间。 |
public void setTimeInMillis(long millis) | 用给定的 long 值设置此 Calendar 的当前时间值。 |
public final Date getTime() | 返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象。 |
public long getTimeInMillis() | 返回此 Calendar 的时间值,以毫秒为单位。 |
public int getActualMaximum(int field) | 传入Calendar.Date,得到这个月可能有多少天 |
方法使用例子:
@SneakyThrows
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
System.out.println("cal.getTime():"+cal.getTime());
// 获得年份
System.out.println("现在是:"+(cal.get(Calendar.YEAR))+"年");
// 获得月份
System.out.println("现在是:"+(cal.get(Calendar.MONTH )+1)+"月");
//获得日期
System.out.println("现在是:"+ cal.get(Calendar.DATE)+ "号");
System.out.println("现在是:" + (cal.get(Calendar.DAY_OF_MONTH))+"号");
// 获得这是今年的第几天
System.out.println("现在是第几:"+(cal.get(Calendar.DAY_OF_YEAR))+"天");
// 获得今天周几
System.out.println("现在是周:"+ (cal.get(Calendar.DAY_OF_WEEK)-1));
// 获得今天是这个月的第几周
System.out.println("现在是这个月第"+ cal.get(Calendar.DAY_OF_WEEK_IN_MONTH)+"周");
// 12小时制的时间
System.out.println("现在是:"+cal.get(Calendar.HOUR)+"点");
// 24小时制的时间
System.out.println("现在是:"+cal.get(Calendar.HOUR_OF_DAY)+"点");
// 分钟数
System.out.println("现在是:"+cal.get(Calendar.MINUTE)+"分");
// 秒数
System.out.println("现在是:"+cal.get(Calendar.SECOND)+"秒");
// 毫秒
System.out.println("现在是:"+cal.get(Calendar.MILLISECOND)+"毫秒");
// 自定义时间获取
SimpleDateFormat dc = new SimpleDateFormat();
dc.applyPattern("yyyy-MM-dd");
Date d = dc.parse("2021-11-13");
cal.setTime(d);
System.out.println("--------------------2021-11-13信息-----------------------");
// 获得年份
System.out.println("现在是:" + cal.get(Calendar.YEAR) + "年");
// 获得月份
System.out.println("现在是:" + (cal.get(Calendar.MONTH)+1) + "月");
//获得日期
System.out.println("现在是:" + cal.get(Calendar.DATE) + "号");
System.out.println("现在是:" + cal.get(Calendar.DAY_OF_MONTH) + "号");
// 获得这是今年的第几天
System.out.println("现在是今年第" + cal.get(Calendar.DAY_OF_YEAR) + "天");
// 获得今天周几
System.out.println("现在是星期:" + (cal.get(Calendar.DAY_OF_WEEK)-1) );
// 获得今天是这个月的第几周
System.out.println("现在是第:" + cal.get(Calendar.DAY_OF_WEEK_IN_MONTH) + "周" );
}
运行结果如下:
cal.getTime():Sat Nov 13 14:26:38 CST 2021
现在是:2021年
现在是:11月
现在是:13号
现在是:13号
现在是第几:317天
现在是周:6
现在是这个月第2周
现在是:2点
现在是:14点
现在是:26分
现在是:38秒
现在是:366毫秒
--------------------2021-11-13信息-----------------------
现在是:2021年
现在是:11月
现在是:13号
现在是:13号
现在是今年第317天
现在是星期:6
现在是第:2周
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
2019-11-06 CMD下常用文件操作指令
2019-11-06 C#中int、long、float、double、decimal最大值最小值