[Java学习笔记] Date/Calendar/DateFormat的使用

一、Date类–主要表征某一时刻

排去已经废弃的构造器,Date的构造器有:

  • Date() 空参构造器—>构造一个Date对象,它反应此时的系统时间
  • Date(long n) 传入一个long数据(由1970.1.1计算机元年以来的毫秒数)得到一个对应的Date对象

方法:

  • void setTime(long date)

       使用给定毫秒时间值设置现有 Date 对象。 
    
  • String toString()

       格式化日期转义形式 yyyy-mm-dd 的日期。 
    
  • static Date valueOf(String s)

       将 JDBC 日期转义形式的字符串转换成 Date 值 
    
  • boolean before(Date d)

       比较日期先后,若this的mils值小于d的millis值则返回true
    
  • boolean after(Date d)

       比较日期先后,若this的mils值大于d的millis值则返回true
    

二、Calendar类——日历类用于保存年月日时分秒等信息以及日期间计算

Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。
实例化:
Calendar 提供了一个类方法 getInstance,以获得此类型的一个通用的对象。Calendar 的 getInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化:

 Calendar rightNow = Calendar.getInstance();

方法:

  • void add(int field, int amount)
    根据日历的规则,为给定的日历字段添加或减去(传入负数)指定的时间量

  • int get(int field)
    返回给定日历字段的值

  • Date getTime()
    返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象

  • long getTimeInMillis()
    返回此 Calendar 的时间值,以毫秒为单位。

  • void setTime(Date date)
    使用给定的 Date 设置此 Calendar 的时间。

  • void set(int field, int value)
    将给定的日历字段设置为给定值。

  • void set(int year, int month, int date)
    设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值。

  • void set(int year, int month, int date, int hourOfDay, int minute)
    设置日历字段 YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY 和 MINUTE 的值。
    重要字段(field):

  • public static final int YEAR
    指示年的 get 和 set 的字段数字。这是一个特定于日历的值

  • static final int MONTH
    指示月份的 get 和 set 的字段数字。这是一个特定于日历的值。(从0开始表示一月)

  • public static final int WEEK_OF_YEAR
    get 和 set 的字段数字,指示当前年中的星期数。

  • public static final int DATE
    get 和 set 的字段数字,指示一个月中的某天。它与 DAY_OF_MONTH 是同义词。

  • public static final int DAY_OF_WEEK
    get 和 set 的字段数字,指示一个星期中的某天。从一开始且1表示星期天
    在这里插入图片描述

- Date/Calendar/long三者之间的转化

  • Date→long

d.getTime()得到毫秒值

  • Date←long

new Date(long)

  • Date→Calendar

cal.setTime(Date d)

  • Date←Calendar

Date d = cal.getTime()

  • Calendar→long

long mills = cal.getTimeInMillis();

  • Calendar←long

cal.SetTimeInMillis(long l)

三、DateFormat类——text包下的格式转换工具抽象类

我们主要使用它的子类—SimpleDateFormat

SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
yyyy-MM-dd-HH:mm:ss —> 2019-5-9-23:40:38
在这里插入图片描述
构造器:

  • SimpleDateFormat()
    用默认的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。

  • SimpleDateFormat(String pattern)
    用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。

方法:

  • String toPattern()
    返回描述此日期格式的模式字符串
  • Calendar getCalendar()
    获取与此日期/时间格式器关联的日历。
  • String format(Date date)
    将一个 Date 格式化为日期/时间字符串。
  • Date parse(String source)
    从给定字符串的开始解析文本,以生成一个日期。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值