网站开发谢辞做家装壁纸的网站
前言
- 这个时间是什么格式?
2021-09-02T15:25:03Z - jdk1.8
 
T、Z的含义
2021-09-02T15:25:03Z 中T是表示时间段开始的关键字,Z是表示UTC时间(通用协调时, Universal Time Coordinated)。
UTC与格林尼治平均时(GMT, Greenwich Mean Time)一样,都与英国伦敦的本地时间相同。
包含T、Z的日期的出处
包含T、Z的日期的出自ISO 8601 Extended Format。ISO 8601 Extended Format 的时间看起来是这样的 YYYY-MM-DDTHH:mm:ss.sssZ。
Z的规律
- 以Z结尾表示UTC时间(可理解为,英国伦敦时间)
 +HH表示时区,比如+08表示东八区-HH表示时区,比如-08表示西八区+HHmm表示时区,比如+0800表示东八区-HHmm表示时区,比如-0800表示西八区+HH:mm表示时区,比如+08:00表示东八区-HH:mm表示时区,比如-08:00表示西八区
date format pattern
| 日期字符串 | 日期格式 | 说明 | 
|---|---|---|
| 2021-09-02T15:25:03Z | yyyy-MM-dd'T'HH:mm:ssX | 一个X可以识别Z字符 | 
| 2021-09-02T15:25:03Z | yyyy-MM-dd'T'HH:mm:ssXX | 两个XX可以识别Z字符 | 
| 2021-09-02T15:25:03Z | yyyy-MM-dd'T'HH:mm:ssXXX | 三个XXX可以识别Z字符 | 
| 2021-09-02T15:25:03+00 | yyyy-MM-dd'T'HH:mm:ssX | 一个X可以识别+HH | 
| 2021-09-02T15:25:03-08 | yyyy-MM-dd'T'HH:mm:ssX | 一个X可以识别-HH | 
| 2021-09-02T15:25:03+8000 | yyyy-MM-dd'T'HH:mm:ssXX | 两个X可以识别-HHmm | 
| 2021-09-02T15:25:03-0800 | yyyy-MM-dd'T'HH:mm:ssXX | 两个X可以识别-HHmm | 
| 2021-09-02T15:25:03+08:00 | yyyy-MM-dd'T'HH:mm:ssXXX | 三个X可以识别-HH:mm | 
| 2021-09-02T15:25:03-08:00 | yyyy-MM-dd'T'HH:mm:ssXXX | 三个X可以识别-HH:mm | 
示例
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class TestMain {public static void main(String[] args) throws ParseException {SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");Date d = null;d = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX").parse("2021-09-01T16:19:10Z");System.out.println(df.format(d));d = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXX").parse("2021-09-01T16:19:10Z");System.out.println(df.format(d));d = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX").parse("2021-09-01T16:19:10Z");System.out.println(df.format(d));d = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX").parse("2021-09-01T16:19:10-00");System.out.println(df.format(d));d = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXX").parse("2021-09-01T16:19:10+0800");System.out.println(df.format(d));d = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX").parse("2021-09-01T16:19:10+08:00");System.out.println(df.format(d));d = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX").parse("2021-09-01T16:19:10+08:30");System.out.println(df.format(d));}}
 
输出
2021-09-02T00:19:10+08:00
2021-09-02T00:19:10+08:00
2021-09-02T00:19:10+08:00
2021-09-02T00:19:10+08:00
2021-09-01T16:19:10+08:00
2021-09-01T16:19:10+08:00
2021-09-01T15:49:10+08:00
 
参考
【日期、时间】javascript字符串转日期类型
 java string类型时间段 转换 date类型
