首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >calendar类的方法_unsafe类常用方法

calendar类的方法_unsafe类常用方法

作者头像
全栈程序员站长
发布2022-11-09 13:09:18
发布2022-11-09 13:09:18
1.3K0
举报

大家好,又见面了,我是你们的朋友全栈君。

概念

java.util.Claendar日历类,抽象类,在Date类后出现的,替换掉了很多Date类中的方法,该类将所有的可能用到的时间信息封装为静态成员变量,通过类名.静态成员变量获取时间字段值

获取方式

由于Calendar类是一个抽象类,语言敏感性,Calendar类并不是直接创建对象来获取时间属性值,而是通过静态方法创建,返回子类对象。

静态方法如下: public static Calendar getInstance();使用默认时区和默认的语言环境获取一个日历对象 例如:

代码语言:javascript
复制
import java.util.Calendar;
pubic class Demo01Calendar { 
   
    public static void main(String[] args) { 
   
        Calendar calendar = Calendar.getInstance();// 获取一个日历的对象 
    }
}
Calendar类的常用的成员方法:

public int get(int field):返回的是一个日历的字段值 public void set(int field,int value):讲给定的日历字段设置为给定的值 public abstract void add(int field,int amount):根据日历规则,为给定的日历字段添加或者是减去指定的时间量值 public Date getTime():返回的是一个表示Calendar时间值(从历元到现在的毫秒偏移量)的Date对象

成员方法的参数

int field:日历类的字段,可以通过calendar类的静态成员变量获取 public static final int YARN = 1; //年 public static final int MOUTH = 2; //月 public static final int DATE = 5;//月中的某一天(与day_of_mouth意义相同) public static final int DAY_OF_MONTH;//月中的第几天(与date意义相同) public static final int HOUR = 10; //时 public static final int MINUTE= 12;//分 public static final int SECOND= 13;//秒

以下演示的例子:
代码语言:javascript
复制
//获取给定的字段值
public static void demo01(Calendar calendar) { 

//使用public int get(int field)过去给定的日历字段值
//获取年份
int year = calendar.get(calendar.YEAR);
System.out.println(year);
//获取月份
int month = calendar.get(Calendar.MONTH) + 1;
System.out.println(month);//10 西方的日历 月份:0--11 东方1--12
//获取日期
int date = calendar.get(Calendar.DATE);
System.out.println(date);
//获取时
int hour = calendar.get(Calendar.HOUR);
System.out.println(hour);
//获取时的24小时制
int hours = calendar.get(Calendar.HOUR_OF_DAY);
System.out.println(hours);
}
代码语言:javascript
复制
//将给定的日历字段设置为给定的值
public static void demo02(Calendar calendar) { 

//public void set(int field,int value)
/** * int field:指定的日历字段(YEAR,MONTH,DATE....) * int calue:给指定的日历字段设置值 */
//把当前的年份设置为2050年
calendar.set(Calendar.YEAR, 2050);
//获取年份
int year = calendar.get(Calendar.YEAR);
System.out.println(year);
//把当前的月份设置为5月
calendar.set(Calendar.MONTH, 5);
//再次获取月份
int month = calendar.get(Calendar.MONTH);
System.out.println(month);
//设置日期为5日
calendar.set(Calendar.DATE, 5);
int date = calendar.get(Calendar.DATE);
System.out.println(date);
}
代码语言:javascript
复制
 //根据日历规则,为给定的日历字段添加或者减去指定的事件量
public static void demo03(Calendar calendar) { 

//public abstract void add(int field,int amount) 把指定的字段增加或者减少指定的值
/** * 参数: * int field:指定的日历字段(YEAR,MONTH,DATE....) * int amount:增加或者减少指定的数量 * 正数:增加指定的数量 * 负数:减少指定的数量 */
//把当前的年份增加两年
calendar.add(Calendar.YEAR, 2);
//把当前的月份减少3个月
calendar.add(Calendar.YEAR, -3);
//获取更改之后的年份和月份
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int date = calendar.get(Calendar.DATE);
System.out.println(year + "年" + month + "月" + date + "日");
}
代码语言:javascript
复制
 //获取一个Calendar日历对象对应的Date日期对象
public static void demo04(Calendar calendar){ 

//public Date getTime() 把日历对象转换成日期对象
Date date = calendar.getTime();
System.out.println(date);//Mon Nov 30 15:15:05 CST 2020
//获取当前时间的时区
TimeZone timeZone = calendar.getTimeZone();
System.out.println(timeZone);
//获取当前时间的毫秒值
long timeInMillis = calendar.getTimeInMillis();
System.out.println("calendar日历对应的毫秒值:"+timeInMillis);
long timeMillis = System.currentTimeMillis();
System.out.println("这是System系统获取的毫秒值:"+timeInMillis);
Date date1 = new Date();
long time = date1.getTime();
System.out.println("这是date获取的毫秒值:"+time);
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/190471.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月23日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概念
  • 获取方式
    • Calendar类的常用的成员方法:
    • 成员方法的参数
    • 以下演示的例子:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档