DatePattern增加:对UTC时间详细说明,易错,易混淆。

This commit is contained in:
duandazhi 2022-08-23 04:13:07 -04:00
parent e0172b9500
commit 755cb0de26

View File

@ -26,8 +26,8 @@ import java.util.regex.Pattern;
* <li>yyyy年MM月dd日 示例2022年08月05日</li> * <li>yyyy年MM月dd日 示例2022年08月05日</li>
* <li>yyyy-MM-dd HH:mm:ss 示例2022-08-05 12:59:59</li> * <li>yyyy-MM-dd HH:mm:ss 示例2022-08-05 12:59:59</li>
* <li>yyyy-MM-dd HH:mm:ss.SSS 示例2022-08-05 12:59:59.559</li> * <li>yyyy-MM-dd HH:mm:ss.SSS 示例2022-08-05 12:59:59.559</li>
* <li>yyyy-MM-dd HH:mm:ss.SSSZ 示例2022-08-05 12:59:59.559+0800, 年月日 时分秒 毫秒 时区</li> * <li>yyyy-MM-dd HH:mm:ss.SSSZ 示例2022-08-05 12:59:59.559+0800东八区中国时区2022-08-05 04:59:59.559+0000冰岛0时区, 年月日 时分秒 毫秒 时区</li>
* <li>yyyy-MM-dd HH:mm:ss.SSSz 示例2022-08-05 12:59:59.559UTC+08:00,年月日 时分秒 毫秒 时区</li> * <li>yyyy-MM-dd HH:mm:ss.SSSz 示例2022-08-05 12:59:59.559UTC世界标准时间=0时区2022-08-05T12:59:59.599GMT冰岛0时区2022-08-05T12:59:59.599CST东八区中国时区2022-08-23T03:45:00EDT美国东北纽约时间-0400 ,年月日 时分秒 毫秒 时区</li>
* <li>yyyy-MM-dd'T'HH:mm:ss.SSS'Z' 示例2022-08-05T12:59:59.559Z, 其中''单引号表示转义字符T:分隔符Z:一般值UTC,0时区的时间含义</li> * <li>yyyy-MM-dd'T'HH:mm:ss.SSS'Z' 示例2022-08-05T12:59:59.559Z, 其中''单引号表示转义字符T:分隔符Z:一般值UTC,0时区的时间含义</li>
* <li>yyyy-MM-dd'T'HH:mm:ss.SSSZ 示例2022-08-05T11:59:59.559+0800, 其中Z,表示时区</li> * <li>yyyy-MM-dd'T'HH:mm:ss.SSSZ 示例2022-08-05T11:59:59.559+0800, 其中Z,表示时区</li>
* <li>yyyy-MM-dd'T'HH:mm:ss.SSSX 示例2022-08-05T12:59:59.559+08, 其中X:两位时区+08表示东8区中国时区</li> * <li>yyyy-MM-dd'T'HH:mm:ss.SSSX 示例2022-08-05T12:59:59.559+08, 其中X:两位时区+08表示东8区中国时区</li>
@ -46,10 +46,25 @@ import java.util.regex.Pattern;
* {@link DateTimeFormatter#ISO_DATE} * {@link DateTimeFormatter#ISO_DATE}
* {@link DateTimeFormatter#ISO_DATE_TIME} * {@link DateTimeFormatter#ISO_DATE_TIME}
* 查看更多请参阅上述官方文档 * 查看更多请参阅上述官方文档
* </p>
* *
* <br/>
* 其中CST格式形如"Mon Aug 15 14:23:15 CST 2022",上面未包含 * 其中CST格式形如"Mon Aug 15 14:23:15 CST 2022",上面未包含
* 参见{@link CSTDateParser#parse(String)}{@link DateUtil#parse(String, String...)}{@link Date#toString()}进行处理 * 参见{@link CSTDateParser#parse(String)}{@link DateUtil#parse(String, String...)}{@link Date#toString()}进行处理
* *
* <p>
* 特殊说明UTC时间世界标准时间0时区的时间伦敦时间可以直接加Z表示不加空格
* 09:30 UTC表示为09:30ZT0930Z其中Z +00:00 的缩写意思是 UTC(零时分秒的偏移量).
* <ul>
* <li>yyyy-MM-dd'T'HH:mm:ssZ</li>
* <li>正确示例2022-08-23T15:20:46UTC</li>
* <li>正确示例2022-08-23T15:20:46 UTC</li>
* <li>正确示例2022-08-23T15:20:46+0000</li>
* <li>正确示例2022-08-23T15:20:46 +0000</li>
* <li>错误示例2022-08-23T15:20:46Z必须把String dateTimeStr = dateTimeStr.replace("Z", " UTC");</li>
* </ul>
* </p>
*
* @author Looly * @author Looly
*/ */
public class DatePattern { public class DatePattern {