时间相关的类

与时间相关的类主要有 Date类、SimpleDateFormat类和Calendar类。其中最常用的就是Date类、SimpleDateFormat类。

Date类:

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

常用方法:

1、Date()
          分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。

2、Date(long date)
          分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。

3、int compareTo(Date anotherDate)
          比较两个日期的顺序。如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值;如果此 Date 在 Date 参数之后,则返回大于 0 的值。

4、boolean equals(Object obj) 
     比较两个日期的相等性。比较两个日期的相等性。当且仅当参数不为 null,并且是一个表示与此对象相同的时间点(到毫秒)的 Date 对象时,结果才为 true。因此,当且仅当 getTime 方法对于两个 Date 对象返回相同的 long 值时,这两个对象才是相等的。

SimpleDateFormat类:

SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。

常用方法:

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

2、format(Date date) 函数

  时间转字符串

3、parse(String date)函数

  字符串转时间

calender 类:

Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEARMONTHDAY_OF_MONTHHOUR日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。

常用方法:

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

2、 int get(int field)
          返回给定日历字段的值。具体的值可以参照API。

代码示例:

 1 import java.text.ParseException;
 2 import java.text.SimpleDateFormat;
 3 import java.util.Calendar;
 4 import java.util.Date;
 5 
 6 public class DateTest {
 7     public static void main(String[] args) throws ParseException {
 8         Date date= new Date();
 9         //时间转字符串format(Date date) 函数
10         //默认时间格式
11         SimpleDateFormat dateFormat = new SimpleDateFormat();
12         String normalFormatTime = dateFormat.format(date);
13         System.out.println("默认格式的当前时间:"+normalFormatTime);
14         //自定义时间格式
15         SimpleDateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
16         String customFormatTime = dateFormat2.format(date);
17         System.out.println("自定义格式的当前时间:"+customFormatTime);
18         
19         //字符串转时间parse(Date date)函数
20         String birthday = "2017-12-23 00:07:01";
21         Date date2 = dateFormat2.parse(birthday);  //注意: 指定的字符串格式必须要与SimpleDateFormat的模式要一致。
22         System.out.println(date2);
23         
24         //时间比较
25         int result = date.compareTo(date2);
26         System.out.println("比较结果:"+result);
27         System.out.println("两个时间是否相等:"+date.equals(date2));
28         
29         //日历类
30         Calendar calendar = Calendar.getInstance(); //获取当前的系统时间。
31         System.out.println("年:"+ calendar.get(Calendar.YEAR));
32         System.out.println("月:"+ (calendar.get(Calendar.MONTH)+1));
33         System.out.println("日:"+ calendar.get(Calendar.DATE));
34         
35         System.out.println("时:"+ calendar.get(Calendar.HOUR_OF_DAY));
36         System.out.println("分:"+ calendar.get(Calendar.MINUTE));
37         System.out.println("秒:"+ calendar.get(Calendar.SECOND));
38         
39     }
40 }
View Code
原文地址:https://www.cnblogs.com/nicker/p/6213376.html