栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java基础之Calendar日期对象

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java基础之Calendar日期对象

目录

1、简介

2、获取具体日期字段信息

3、add

4、roll

5、set


1、简介
public abstract class Calendar
extends Object
implements Serializable, Cloneable, Comparable

所述Calendar类是一个抽象类,可以为在某一特定时刻和一组之间的转换的方法calendar fields如YEAR , MONTH , DAY_OF_MONTH , HOUR ,等等,以及用于操纵该日历字段,如获取的日期下个星期。 时间上的瞬间可以用毫秒值表示,该值是从1970年1月1日00:00 00:00.000 GMT(Gregorian)的Epoch的偏移量。

该类还提供了用于在包外部实现具体日历系统的其他字段和方法。 这些字段和方法定义为protected 。

与其他区域设置敏感的类一样, Calendar提供了一种类方法getInstance ,用于获取此类型的一般有用的对象。 Calendar的getInstance方法返回一个Calendar对象,其日历字段已使用当前日期和时间进行初始化:

Calendar calendar=Calendar.getInstance();

常用方法

 //根据日历的规则,为给定的日历字段添加或减去指定的时间量。
 abstract void  add(int field, int amount) 
  //判断此 Calendar 表示的时间是否在指定 Object 表示的时间之后,返回判断结果。    
 boolean    after(Object when) 
  // 判断此 Calendar 表示的时间是否在指定 Object 表示的时间之前,返回判断结果。    
 boolean    before(Object when) 
  //给定此 Calendar 的时间值,返回指定日历字段可能拥有的最大值。
 int    getActualMaximum(int field) 
  // 给定此 Calendar 的时间值,返回指定日历字段可能拥有的最小值。    
 int    getActualMinimum(int field) 
  // 获取一星期的第一天;例如,在美国,这一天是 SUNDAY,而在法国,这一天是 MONDAY。
 int    getFirstDayOfWeek() 
  //返回此 Calendar 实例给定日历字段的最高的最小值。
abstract  int   getGreatestMinimum(int field) 
 //使用默认时区和语言环境获得一个日历。
static Calendar getInstance() 
//使用默认时区和指定语言环境获得一个日历。      
static Calendar getInstance(Locale aLocale) 
 //  使用指定时区和默认语言环境获得一个日历。   
static Calendar getInstance(TimeZone zone) 
 //使用指定时区和语言环境获得一个日历。
static Calendar getInstance(TimeZone zone, Locale aLocale) 
 //返回此 Calendar 实例给定日历字段的最低的最大值。      
abstract  int   getLeastMaximum(int field) 
  //返回此 Calendar 实例给定日历字段的最大值。      
abstract  int   getMaximum(int field) 
 // 获取一年中第一个星期所需的最少天数,例如,如果定义第一个星期包含一年第一个月的第一天,则此方法将返回 1。      
 int    getMinimalDaysInFirstWeek() 
         
// 设置一星期的第一天是哪一天;例如,在美国,这一天是 SUNDAY,而在法国,这一天是 MONDAY。
 void   setFirstDayOfWeek(int value) 
         
 // 设置一年中第一个星期所需的最少天数,例如,如果定义第一个星期包含一年第一个月的第一天,则使用值 1 调用此方法。
 void   setMinimalDaysInFirstWeek(int value) 
  // 使用给定的 Date 设置此 Calendar 的时间。     
 void   setTime(Date date) 
   // 用给定的 long 值设置此 Calendar 的当前时间值。     
 void   setTimeInMillis(long millis) 
         
 //返回此日历的字符串表示形式。
 String toString() 

2、获取具体日期字段信息
 public static void main(String[] args) throws SQLException, ClassNotFoundException, IOException {

        Calendar calendar=Calendar.getInstance();
        System.out.println(calendar.get(Calendar.YEAR));//年
        System.out.println(calendar.get(Calendar.MONTH)+1);//月
        System.out.println(calendar.get(Calendar.DATE));//日
        System.out.println(calendar.get(Calendar.HOUR));//小时
        System.out.println(calendar.get(Calendar.MINUTE));//分钟
        System.out.println(calendar.get(Calendar.SECOND));//秒
        System.out.println(calendar.get(Calendar.MILLISECOND));//毫秒
    }

3、add
Calendar calendar=Calendar.getInstance();

calendar.add(Calendar.YEAR, -1);//当前年份减一年

System.out.println(calendar.get(Calendar.YEAR));

4、roll
public abstract void roll(int calndr_field, boolean up_down)

参数:

calndr_field:这是日历类型,是指要对其进行操作的日历字段。

up_down:这是布尔类型,用于指示是向上或向下移动calndr_field还是增大或减小。 true表示添加时间单位,false表示减去时间单位。

  Calendar calendar=Calendar.getInstance();

  calendar.add(Calendar.YEAR, -1);//当前年份减一年

  System.out.println(calendar.get(Calendar.YEAR));//2021

  calendar.roll(Calendar.YEAR, true);
  System.out.println(calendar.get(Calendar.YEAR));//2022

5、set
public final void set(int year,
                      int month,
                      int date)


设置日历字段中的值YEAR , MONTH和DAY_OF_MONTH 。
参数
year - 用于设置 YEAR日历字段的值。
month - 用于设置MONTH日历字段的值。 月值为0。 例如,1月份为0。
date - 用于设置 DAY_OF_MONTH日历字段的值。

  Calendar calendar=Calendar.getInstance();


        System.out.println(calendar.getTime());

        calendar.set(2018, 2, 1);

        System.out.println(calendar.getTime());

//Fri May 06 11:03:50 CST 2022
//Thu Mar 01 11:03:50 CST 2018

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/866432.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号