sunny123456

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  1796 随笔 :: 22 文章 :: 24 评论 :: 226万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

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一周中的第几天 / 星期
HOUR12小时制的时间
HOUR_OF_DAY24小时制的时间
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

原文链接:https://blog.csdn.net/m0_57556230/article/details/121303957
posted on   sunny123456  阅读(53)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2019-11-06 CMD下常用文件操作指令
2019-11-06 C#中int、long、float、double、decimal最大值最小值
点击右上角即可分享
微信分享提示