JAVA中关于时间的一些类

Calendar日历类

java.util.Calendar:日历类

Calendar类是一个抽象类,里面提供了很多操作日历字段的方法:(YEAR,MONTH,DAY_OF_MONTH,HOUR)。

Calendar类是无法直接创建对象使用的,里面有一个静态方法getInstance(),该方法返回了Calendar类的子类对象

static Calendar getInstance():使用默认时区和语言环境获得一个日历。

Calendar类的常用成员方法:

  1. public int get(int field):返回给定日历字段的值。

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

  3. public abstract void add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。

  4. public Date getTime():返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。

成员方法的参数:

int field:日历类的字段,可以使用Calendar类的静态成员变量获取。
public static final int YEAR = 1;           年
public static final int MONTH = 2;          月
public static final int DATE = 5;           月中的某一天
public static final int DAY_OF_MONTH = 5;   月中的某一天
public static final int HOUR = 10;          时
public static final int MINUTE = 12;        分
public static final int SECOND = 13;        秒

Date日期类

java.util.Date:表示日期和时间的类

类Date表示特定的瞬间,精确到毫秒。

毫秒:千分之一秒 1000毫秒等于一秒。

特定的瞬间:一个时间点,一刹那时间。

毫秒值的作用:可以对时间和日期进行计算。

2088-01-05到20-99-03-05到底有多少天?
可以日期转换为毫秒进行计算,计算完毕,再把毫秒转换为日期。

把日期转换为毫秒:
当前的日期:2088-01-01

时间原点(0毫秒):1970年1月1日 00:00:00(英国格林威治)。

就是计算当前日期到时间原点之间一共经历了多少毫秒。

注意:中国是东八区,所以会把时间增加八个小时,即从早上8点开始。

把毫秒转换为日期:
1 天 = 24 X 60 X 60 = 86400 秒 = 86400 X 1000 = 86400000毫秒。

Date类的构造方法

Date();Date类的无参构造方法,获取当前系统的日期和时间。

Date(long time);Date类的有参构造方法,传递毫秒值(long类型),把毫秒值转换为日期。

Date类的常用成员方法

long getTime():把日期转换为毫秒值,返回时间原点到现在系统时间之间的毫秒值(相当于System.currentTimeMillis();)。


DateFormat日期/时间格式化子类的抽象类

java.text.DateFormat是日期/时间格式化子类的抽象类

作用格式化(日期 -> 文本)、解析(文本-> 日期)。

成员方法:

String format(Date date):按照指定的模式,把Date日期,格式化为符合模式的字符串。
Date parse(String source):把符合模式的字符串,解析为一个Date日期。

DateFormat类是一个抽象类,无法直接创建对象使用,可以使用DateFormat类的子类。

java.text.SimpleDateFormat extends DateFormat

构造方法:

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

参数:String pattern:传递指定的模式。

模式:区分大小写。

y  年
M  月
d  日
H  时
m  分
s  秒

写对应的模式,会把模式替换为对应的日期和时间。

“yyyy-MM-dd HH-mm-ss”

注意:模式中的字母不能更改,但是连接模式的符号可以改变。

“yyyy年MM月dd日 HH时mm分ss秒”


以上是三个关于时间和日期的类,如需了解更多请自己查询有关内容。

  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!

请我喝杯咖啡吧~

支付宝
微信