Java 的日期和时间类位于 java.util 包中。利用日期时间类提供的方法,可以获取当前的日期和时间,创建日期和时间参数,计算和比较时间。
Date类
Date 类是 Java 中的日期时间类,其构造方法比较多,下面是常用的两个:
-
Date():使用当前的日期和时间初始化一个对象。
-
Date(long millisec):从1970年01月01日00时(格林威治时间)开始以毫秒计算时间,计算 millisec 毫秒。如果运行 Java 程序的本地时区是北京时区(与格林威治时间相差 8 小时),Date dt1=new Date(1000);,那么对象 dt1 就是1970年01月01日08时00分01秒。
看下面一个显示日期时间的例子:
package 转义字符;
import java.util.Date;
public class DEMO2{
public static void main(String args[]){
Date da=new Date(); //创建时间对象
System.out.println(da); //显示时间和日期
long msec=da.getTime();
System.out.println("从1970年1月1日0时到现在共有:" + msec + "毫秒");
}
}
输出结果为:
Sat Jun 15 09:01:52 CST 2019
从1970年1月1日0时到现在共有:1560560512657毫秒
一些比较常用的 Date 类方法:
方法 | 功能 |
---|---|
boolean after(Date date) | 若调用 Date 对象所包含的日期比 date 指定的对象所包含的日期晚,返回 true,否则返回 false。 |
boolean before(Date date) | 若调用 Date 对象所包含的日期比 date 指定的对象所包含的日期早,返回 true,否则返回 false。 |
Object clone() | 复制调用 Date 对象。 |
int compareTo(Date date) | 比较调用对象所包含的日期和指定的对象包含的日期,若相等返回 0;若前者比后者早,返回负值;否则返回正值。 |
long getTime() | 以毫秒数返回从 1970 年 01 月 01 日 00 时到目前的时间。 |
int hashCode() | 返回调用对象的散列值。 |
void setTime(long time) | 根据 time 的值,设置时间和日期。time 值从 1970 年 01 月 01 日 00 时开始计算。 |
String toString() | 把调用的 Date 对象转换成字符串并返回结果。 |
public Static String valueOf(type variable) | 把 variable 转换为字符串。 |
Date 对象表示时间的默认顺序是星期、月、日、小时、分、秒、年。若需要修改时间显示的格式可以使用“SimpleDateFormat(String pattern)”方法。
例如:
package com.ls.IoDemo;
import java.util.Date;
import java.text.SimpleDateFormat;
public class Demo{
public static void main(String args[]){
Date da=new Date();
System.out.println(da);
SimpleDateFormat ma1=new SimpleDateFormat("yyyy 年 MM 月 dd 日 E 北京时间");
System.out.println(ma1.format(da));
SimpleDateFormat ma2=new SimpleDateFormat("北京时间:yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒");
System.out.println(ma2.format(-1000));
}
}
运行结果为:
Sat Jun 15 09:08:27 CST 2019
2019 年 06 月 15 日 星期六 北京时间
北京时间:1970 年 01 月 01 日 07 时 59 分 59 秒