1.1 第一代日期类
第一代日期时间API主要有java.util.Date和日期时间格式化有关的java.text.DateFormat及其子类。
1.1.1 Date类
JDK1.0就在java.util包下面提供了Date类用于表示特定的瞬间,可以精确到毫秒。
通过API或源码,可以看出Date类的大部分方法已经过时,已被第二代日期类Calendar代替,剩下的Date类常见方法如下所示。
| 序号 | 方法 | 定义 |
|---|---|---|
| 1 | Date() | 返回一个代表当前系统时间的Date对象,精确到毫秒 |
| 2 | Date(long date) | 返回一个距离UTC时间date毫秒的新日期对象,精确到毫秒 |
| 3 | int compareTo(Date anotherDate) | 比较两个日期的大小 |
| 4 | long getTime() | 返回自1970年1月1日00:00:00 GMT以来此Date对象表示的毫秒数 |
| 5 | String toString() | 把此Date对象转换为以下形式的String:dow mon dd hh:mm:ss zzz yyyy其中:dow是一周中的某一天(Sun,Mon,Tue,Wed,Thu,Fri,Sat) |
public class DateTest {
public static void main(String[] args) {
Date date = new Date();
System.out.println("现在的系统时间是:"+date);
long time=date.getTime();
System.out.println("当前时间距离UTC时间的毫秒数:"+time);
}
}
>>
现在的系统时间是:Thu Mar 14 15:40:17 CST 2024
当前时间距离UTC时间的毫秒数:1710402017697
1.1.2 SimpleDateFormat类
Date类显示的格式没有考虑国际化问题,如该格式不符合中国人查看时间的格式习惯,因此需要对其进行格式化操作。java.text.SimpleDateFormat类可以实现格式化操作,它是java.text.DateFormat的子类。
创建SimpleDateFormat类的对象非常简单,可以使用如下构造器:
SimpleDateFormat():用默认的模式和默认的语言环境的日期格式符号构造SimpleDateFormat。SimpleDateFormat(String pattern):用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。SimpleDateFormat(String pattern,Locale locale):用给定的模式和给定语言环境的日期格式符号构造。
常见的日期格式化模板如下:
SimpleDataFormat类主要用于将Date日期转换为字符串,或者将某个字符串转换为Date对象,其常见方法如下所示:
| 方法定义 | 描述 |
|---|---|
| format | 将一个Date格式转化为日期/时间字符串,此方法继承的父类DateFormat的方法 |
| parse | 从给定字符串的开始解析文本,以生成一个日期,此方法为继承的父类DateFormat的方法 |
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatTest {
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH小时mm分钟ss秒S毫秒");
System.out.println("使用指定格式的日期字符串:"+sdf.format(new Date()

最低0.47元/天 解锁文章
431






