关于java:001Java中的日期时间类详解DateDateFormatCalendar

18次阅读

共计 1879 个字符,预计需要花费 5 分钟才能阅读完成。

1 Date 类
1.1 概述
java.util.Date 类示意特定的霎时,准确到毫秒。Date 类的构造函数能够把毫秒值转成日期对象
1.2 Date 类构造方法
public Date():调配 Date 对象并初始化此对象,以示意调配它的工夫(准确到毫秒)。
public Date(long date):调配 Date 对象并初始化此对象,以示意自从规范基准工夫(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
简略来说:应用无参结构,能够主动设置以后零碎工夫的毫秒时刻;指定 long 类型的结构参数,能够自定义毫秒时刻。例如:

**tips: 在应用 println 办法时,会主动调用 Date 类中的 toString 办法。Date 类对 Object 类中的 toString 办法进行了笼罩重写,所以后果为指定格局的字符串。
**

1.3 Date 类的 getTime 办法:返回毫秒数
2 DateFormat 类
java.text.DateFormat 是日期 / 工夫格式化子类的抽象类,咱们通过这个类能够帮咱们实现日期和文本之间的转换, 也就是能够在 Date 对象与 String 对象之间进行来回转换。
格式化:依照指定的格局,从 Date 对象转换为 String 对象。(format)
解析:依照指定的格局,从 String 对象转换为 Date 对象。(parse)
2.1 其子类 SimpleDateFormat 的构造方法
因为 DateFormat 为抽象类,不能间接应用,所以须要罕用的子类 java.text.SimpleDateFormat。这个类须要一个模式(格局)来指定格式化或解析的规范。构造方法为:
public SimpleDateFormat(String pattern):用给定的模式和默认语言环境的日期格局符号结构 SimpleDateFormat。

参数 pattern 是一个字符串,代表日期工夫的自定义格局。

2.2 DateFormat 类罕用办法
DateFormat 类的罕用办法有:

public String format(Date date):将 Date 对象格式化为字符串。
public Date parse(String source):将字符串解析为 Date 对象。
2.2.1 format 办法
应用 format 办法的代码为:

2.2.2 parse 办法
应用 parse 办法的代码为:

2.3 综合练习
题目:请应用日期工夫相干的 API,计算出一个人曾经出世了多少天。

思路:

1. 获取以后工夫对应的毫秒值

2. 获取本人出生日期对应的毫秒值

3. 两个工夫相减(以后工夫– 出生日期)

3 Calendar 类
3.1 概念
java.util.Calendar 是日历类,在 Date 后呈现,替换掉了许多 Date 的办法。该类将所有可能用到的工夫信息封装为动态成员变量,不便获取。日历类就是不便获取各个工夫属性的。

3.2 获取形式
Calendar 为抽象类,因为语言敏感性,Calendar 类在创建对象时并非间接创立,而是通过静态方法创立,返回子类对象,如下:

Calendar 静态方法

public static Calendar getInstance():应用默认时区和语言环境取得一个日历

3.3 罕用办法
依据 Calendar 类的 API 文档,罕用办法有:

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 对象。
Calendar 类中提供很多成员常量,代表给定的日历字段:

3.3.1 get/set 办法
get 办法用来获取指定字段的值,set 办法用来设置指定字段的值,代码应用演示:

3.3.2 add 办法
add 办法能够对指定日历字段的值进行加减操作,如果第二个参数为负数则加上偏移量,如果为正数则减去偏移量。代码如:

3.3.3 getTime 办法:返回对应的 Date 对象
Calendar 中的 getTime 办法并不是获取毫秒时刻,而是拿到对应的 Date 对象。

————————————————
版权申明:本文为 CSDN 博主「hellosc01」的原创文章,遵循 CC 4.0 BY-SA 版权协定,转载请附上原文出处链接及本申明。
原文链接:https://blog.csdn.net/sc179/a…

正文完
 0