类库总结(二)——时间类

  • Date-------日期类

Date类表示特定的时刻,精度为毫秒。 Date类是java.util 包下的类,与java.sql不同:util 是Java提供类 sql是数据库。Date类可以用来获取当前时间的毫秒值。
在JDK 1.1之前, Date类还有两个附加功能。
它允许将日期解释为年,月,日,小时,分钟和秒值。 它还允许格式化和解析日期字符串。 不幸的是,这些功能的API不适合国际化。 从JDK 1.1开始,
Calendar类应该用于在日期和时间字段之间进行转换,而DateFormat类应该用于格式化和解析日期字符串。 所以Date中的很多方法都已过时,不推荐使用Date中的相应方法。以下我们总结Date中没有过时的方法

Date构造方法
Date()分配 Date对象并对其进行初始化,使其表示分配时间,测量 Date到毫秒。
方法摘要
变量和类型方法描述
booleanafter​(Date when)测试此日期是否在指定日期之后。
booleanbefore​(Date when)测试此日期是否在指定日期之前。
Objectclone()返回此对象的副本。
intcompareTo​(Date anotherDate)比较两个日期的订购。
booleanequals​(Object obj)比较两个相等的日期。
static Datefrom​(Instant instant)从 Instant对象获得 Date的实例。
longgetTime()返回自此 Date对象表示的1970年1月1日00:00:00 GMT以来的毫秒数。
Date方法

分配一个 Date对象,并初始化它,这样它代表的由指定的第二个开始的瞬间 ,year , month , date , hrs , min ,并 sec参数,在本地时区。

public Date​(int year,
            int month,
            int date,
            int hrs,
            int min,
            int sec)
//year - 减去1900年的年份。 
//month - 0-11之间的月份。 
//date - 1-31之间的一天中的某一天。 
//hrs - 0-23之间的小时数。 
//min - 0-59之间的分钟。 
//sec - 0-59之间的秒数。 


 
  • DateFormate —用于格式化日期的类

DateFormat是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化和分析日期或时间,DateFormat可帮助您格式化和解析任何区域设置的日期,把你获取的日期格式变为你想要的格式。属于java.text 包,SimpleDateFormat 是DateFormate 的直接子类,用来设置日期格式

Formate 和 parse 都是从父类的DateFormate 类继承来的 , 因为其父类是抽象类 无法直接调用,parse 是Date类中的方法,因为过时由DateFormat.parse(String s)取代。

方法摘要
变量和类型方法描述
protectedDateFormat()创建新的日期格式
StringBufferformat​(Object obj, StringBuffer toAppendTo, FieldPosition fieldPosition)将Date格式化为日期时间字符串。 格式化的字符串将附加到给定的StringBuffer 。
Stringformat​(Date date)将Date格式化为日期时间字符串。
booleanequals​(Object obj)覆盖等于
CalendargetCalendar()获取与此日期/时间格式化程序关联的日历。
static DateFormatgetDateInstance()获取具有默认 FORMAT语言环境的默认格式样式的日期格式化程序。
static DateFormatgetInstance()获取一个默认的日期/时间格式化程序,它使用SHORT样式作为日期和时间。
TimeZonegetTimeZone()获取时区。
Dateparse​(String source)从给定字符串的开头解析文本以生成日期。
booleanisLenient()判断日期/时间解析是否宽松。
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 )
//可以使用他的子类SimpleDateFormat 来设置日期格式
  • Calender日历类

Calendar类是一个抽象类,可以为在某一特定时刻和一组之间的转换的方法calendar fields如YEAR , MONTH , DAY_OF_MONTH , HOUR ,等等,以及用于操纵该日历字段。该类还提供了用于在包外实现具体日历系统的附加字段和方法。 这些字段和方法定义为protected 。与其他区域设置敏感的类一样, Calendar提供了一个类方法getInstance ,用于获取此类型的通用对象。

Calendar c1 = Calendar.getInstance();
获取和设置日历字段值

通过调用set方法来设置日历字段值。get方法获取时间,Calendar设置的任何字段值在需要计算其时间值,日期或时间格式字符串不是日历定义的一部分,因为用户必须在运行时可修改或覆盖这些字符串。 使用DateFormat格式化日期。

日历字段可以用三种方法来改变set() , add()和roll() ,set(f, value)改变日历字段f至value 。roll(f, delta)增加delta到现场f不更改更大的字段。 这相当于通过以下调整调用add(f, delta)
与set()不同, add()强制立即重新计算日历的毫秒数和所有字段

构造方法
变量构造器描述
protectedCalendar()使用默认时区和默认的 FORMAT语言环境构造日历。
protectedCalendar​(TimeZone zone, Locale aLocale)构造具有指定时区和区域设置的日历
方法摘要
变量和类型方法描述
abstract voidadd​(int field, int amount)根据日历的规则,将指定的时间量添加或减去给定的日历字段。
booleanafter​(Object when)返回此 Calendar是否表示指定的 Object表示的时间之后的时间。
booleanbefore​(Object when)返回此 Calendar是否表示指定的 Object代表的时间之前的时间。
intget​(int field)返回给定日历字段的值。
static CalendargetInstance()使用默认时区和区域设置获取日历。
static CalendargetInstance​(TimeZone zone, Locale aLocale)获取具有指定时区和区域设置的日历。
DategetTime()返回一个 Date对象,表示此 Calendar的时间值
TimeZonegetTimeZone()获取时区。
voidset​(int field, int value)将给定的日历字段设置为给定值。
voidset​(int year, int month, int date, int hourOfDay, int minute, int second)设置字段中的值 YEAR , MONTH,DAY_OF_MONTH , HOUR_OF_DAY , MINUTE和 SECOND 。
voidsetTime​(Date date)使用给定的 Date设置此日历的时间。
abstract voidroll​(int field, boolean up)在给定时间字段上添加或减去(向上/向下)单个时间单位而不更改更大的字段。
intgetActualMaximum​(int field)返回指定日历字段可能具有的Calendar
InstanttoInstant()将此对象转换为Instant 。
StringtoString()返回此日历的字符串表示形式。
常用字段
WEEK_OF_YEARget和set字段编号表示当年的周数
WEEK_OF_MONTHget和set字段编号表示月的周数
DATEget和set字段编号表示当月的日期
DAY_OF_MONTHget和set字段编号表示当月的日期
DAY_OF_YEARget和set字段编号表示当年的日期编号
DAY_OF_WEEKget和set字段编号表示星期几
DAY_OF_WEEK_IN_MONTHget和set字段编号,表示当月的星期几的序号
AM_PMget和set字段编号表示HOUR是在中午之前还是之后
HOUR_OF_DAYget和set字段编号表示当天的小时
HOURget和set字段编号表示上午或下午的小时
MINUTEget和set字段编号表示小时内的分钟
SECONDget和set字段编号表示分钟内的第二个
MONTHget和set字段编号表示月份
YEARget和set字段编号表示年份

Calender类的这些常用字段的get以及set方法 是替换了过时的Date类的方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值