类 Date 表示特定的瞬间,精确到毫秒。
public class Test {
public static void main(String[] args) {
demo01();
demo02(5000);
demo03();
}
//成员方法
private static void demo03() {
Date date = new Date();
long val = date.getTime();
System.out.println(val);
}
/*
* 分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,
* 即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。*/
private static void demo02(long i) {
Date date = new Date(i);
System.out.println(date);
}
/*
* Date类的空参构造方法,显示当前系统的日期与时间*/
private static void demo01() {
Date date = new Date();
System.out.println(date);
}
}
结果:
"E:\JAVA\IntelliJ IDEA 2019.3.2\jbr\bin\java.exe" "-javaagent:E:\JAVA\IntelliJ IDEA 2019.3.2\lib\idea_rt.jar=57538:E:\JAVA\IntelliJ IDEA 2019.3.2\bin" -Dfile.encoding=UTF-8 -classpath E:\JAVA\project\day06-code\out\production\day06-code com.ls.demo06.Test
Tue Apr 14 09:15:15 CST 2020
Thu Jan 01 08:00:05 CST 1970
1586826915463
Process finished with exit code 0
DtaeFormat类
public abstract class Formatextends Objectimplements Serializable, Cloneable
Format 是一个用于格式化语言环境敏感的信息(如日期、消息和数字)的抽象基类。
Format 定义了编程接口,用于将语言环境敏感的对象格式化为 String(使用 format 方法)和将 String 重新解析为对象(使用 parseObject 方法)。
DateFormat类
public abstract class DateFormatextends Format
DateFormat
是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。将日期表示为 Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年 1 月 1 日 00:00:00 这一刻开始的毫秒数。
String format(Date date)
将一个 Date 格式化为日期/时间字符串。
Date parse(String source)
从给定字符串的开始解析文本,以生成一个日期。
SimpleDateFormat类
public class SimpleDateFormat extends DateFormat
日期和时间模式
日期和时间格式由日期和时间模式字符串
指定。在日期和时间模式字符串中,未加引号的字母 ‘A’ 到 ‘Z’ 和 ‘a’ 到 ‘z’ 被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号 (’) 引起来,以免进行解释。"''
" 表示单引号。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串,或者在解析时与输入字符串进行匹配。
定义了以下模式字母(所有其他字符 ‘A’ 到 ‘Z’ 和 ‘a’ 到 ‘z’ 都被保留):
字母 | 日期或时间元素 | 表示 | 示例 |
---|---|---|---|
G | Era | 标志符 | Text |
y |
年 |
Year |
1996; |
M |
年中的月份 |
Month |
July; Jul; 07 |
w | 年中的周数 | Number | 27 |
W | 月份中的周数 | Number | 2 |
D |
年中的天数 |
Number |
189 |
d | 月份中的天数 | Number | 10 |
F | 月份中的星期 | Number | 2 |
E | 星期中的天数 | Text | Tuesday; |
a | Am/pm 标记 | Text | PM |
H | 一天中的小时数(0-23) | Number | 0 |
k | 一天中的小时数(1-24) | Number | 24 |
K | am/pm 中的小时数(0-11) | Number | 0 |
h |
am/pm 中的小时数(1-12) |
Number |
12 |
m |
小时中的分钟数 |
Number |
30 |
s |
分钟中的秒数 |
Number |
55 |
S | 毫秒数 | Number | 978 |
z | 时区 | General time zone | Pacific Standard Time; PST; |
Z | 时区 | RFC 822 time zone | -0800 |
事例
日期和时间模式 | 结果 |
---|---|
“yyyy.MM.dd G ‘at’ HH:mm:ss z” | 2001.07.04 AD at 12:08:56 PDT |
“EEE, MMM d, ''yy” | Wed, Jul 4, '01 |
“h:mm a” | 12:08 PM |
“hh ‘o’‘clock’ a, zzzz” | 12 o’clock PM, Pacific Daylight Time |
“K:mm a, z” | 0:08 PM, PDT |
“yyyyy.MMMMM.dd GGG hh:mm aaa” | 02001.July.04 AD 12:08 PM |
“EEE, d MMM yyyy HH:mm:ss Z” | Wed, 4 Jul 2001 12:08:56 -0700 |
“yyMMddHHmmssZ” | 010704120856-0700 |
“yyyy-MM-dd’T’HH:mm:ss.SSSZ” | 2001-07-04T12:08:56.235-0700 |