ZonedDateTime.now().format(DateTimeFormatter.ISO_DATE_TIME));
// 于2024-07-30T15:07:31.9488855+08:00[Asia/Shanghai]执行如下代码
new Date(1562501898000L)); // Sun Jul 07 20:18:18 CST 2019 【当前时区】
new Date()); // Tue Jul 30 15:07:31 CST 2024 【当前时区】
// Sun Apr 21 17:26:41 CST 2024 执行如下代码
Calendar.getInstance().getTime()); // Sun Apr 21 17:26:41 CST 2024 【当前时区】
Date date1 = new Timestamp(1562501898000L); // 2019-07-07 20:18:18.0 【当前时区】
new Date(new Timestamp(1562501898000L).getTime())); // Sun Jul 07 20:18:18 CST 2019 【当前时区】
Date.from(Instant.ofEpochMilli(1562501898888L))); //Sun Jul 07 20:18:18 CST 2019 【当前时区】
Date.from(Instant.ofEpochSecond(1562501898))); //Sun Jul 07 20:18:18 CST 2019 【当前时区】
Date.from(Instant.ofEpochSecond(1562501898, 888))); //Sun Jul 07 20:18:18 CST 2019 【当前时区】
Date.from(Instant.parse("2019-07-07T20:18:18.000000888Z"))); //Mon Jul 08 04:18:18 CST 2019 【当前时区】
Date.from(Instant.parse("2019-07-07T20:18:18Z"))); //Mon Jul 08 04:18:18 CST 2019 【当前时区】
// 这里把"2019-07-07T20:18:18.000000888Z"视为0时区时间了,故在东8区里多了8小时
ZonedDateTime ZONED_DATE_TIME = ZonedDateTime.of(2019, 7, 7, 20, 18, 18, 888, ZoneId.of("Asia/Tokyo"));
Date.from(ZONED_DATE_TIME.toInstant())); //Sun Jul 07 19:18:18 CST 2019 【当前时区】
// 东9区时间到东8区时间转换会减去一个小时
OffsetDateTime OFFSET_DATE_TIME = OffsetDateTime.of(2019, 7, 7, 20, 18, 18, 888, ZoneOffset.ofHours(9));
Date.from(OFFSET_DATE_TIME.toInstant())); //Sun Jul 07 19:18:18 CST 2019 【当前时区】
// 东9区时间到东8区时间转换会减去一个小时
LocalDateTime LOCAL_DATE_TIME = LocalDateTime.of(2019, 7, 7, 20, 18, 18, 888);
Date.from(LOCAL_DATE_TIME.toInstant(ZoneOffset.UTC))); //Mon Jul 08 04:18:18 CST 2019 【当前时区】
// 把LocalDateTime视为0时区的时间转为Instant,故转到东8时区会加8小时
Date.from(LOCAL_DATE_TIME.toInstant(ZoneOffset.ofHours(8)))); //Sun Jul 07 20:18:18 CST 2019 【当前时区】
// 把LocalDateTime视为东8区的时间转为Instant,故转到东8时区时间不会变
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("格式化器用的时区是:" + dateFormat.getTimeZone().getID() + ":" + dateFormat.parse("2019-07-07 20:18:18"));
// 格式化器用的时区是:Asia/Shanghai:Sun Jul 07 20:18:18 CST 2019 // 相同时区故直接转换为Date
dateFormat.setTimeZone(TimeZone.getTimeZone("Asia/Tokyo"));
System.out.println("格式化器用的时区是:" + dateFormat.getTimeZone().getID() + ":" + dateFormat.parse("2019-07-07 20:18:18"));
// 格式化器用的时区是:Asia/Tokyo:Sun Jul 07 19:18:18 CST 2019 // 把传入的时间当成日本时间、所以Date会少一个小时、因为中国比日本慢一个小时
import org.apache.commons.lang3.time.DateUtils;
DateUtils.parseDate("2019-07-32 20:18:18 +0800", "yyyy-MM-dd HH:mm:ss Z")); //Thu Aug 01 20:18:18 CST 2019 【视String为当前时区时间去类型转换】
// 不合理日期会自动换算
DateUtils.parseDateStrictly("2019-07-07 20:18:18 +0800", "yyyy-MM-dd HH:mm:ss Z")); //Sun Jul 07 20:18:18 CST 2019 【视String为当前时区时间去类型转换】
// 不合理日期直接报错
DateUtils.parseDate("2019-7-07 20:18:18.888 +0800","yyyy-MM-dd HH:mm:ss.SSS Z"));
DateUtils.parseDate("2019-7-07 20:18:18 +0800","yyyy-MM-dd HH:mm:ss Z"));
DateUtils.parseDate("2019-7-07 20:18:18.888","yyyy-MM-dd HH:mm:ss.SSS"));
DateUtils.parseDate("2019-7-07 20:18:18","yyyy-MM-dd HH:mm:ss"));
DateUtils.parseDate("2019-7-07 20:18","yyyy-MM-dd HH:mm"));
DateUtils.parseDate("2019-7-07 20","yyyy-MM-dd HH"));
DateUtils.parseDate("2019-7-07","yyyy-MM-dd"));
DateUtils.parseDate("2019-7","yyyy-MM"));
DateUtils.parseDate("2019","yyyy"));
DateUtils.parseDate("2019/7/07 20:18:18.888 +0800","yyyy/MM/dd HH:mm:ss.SSS Z"));
DateUtils.parseDate("2019/7/07 20:18:18 +0800","yyyy/MM/dd HH:mm:ss Z"));
DateUtils.parseDate("2019/7/07 20:18:18.888","yyyy/MM/dd HH:mm:ss.SSS"));
DateUtils.parseDate("2019/7/07 20:18:18","yyyy/MM/dd HH:mm:ss"));
DateUtils.parseDate("2019/7/07 20:18","yyyy/MM/dd HH:mm"));
DateUtils.parseDate("2019/7/07 20","yyyy/MM/dd HH"));
DateUtils.parseDate("2019/7/07","yyyy/MM/dd"));
DateUtils.parseDate("2019/7","yyyy/MM"));
DateUtils.parseDate("2019","yyyy"));
DateUtils.parseDate("20190707 20:18:18.888 +0800","yyyyMMdd HH:mm:ss.SSS Z"));
DateUtils.parseDate("20190707 20:18:18 +0800","yyyyMMdd HH:mm:ss Z"));
DateUtils.parseDate("20190707 20:18:18.888","yyyyMMdd HH:mm:ss.SSS"));
DateUtils.parseDate("20190707 20:18:18","yyyyMMdd HH:mm:ss"));
DateUtils.parseDate("20190707 20:18","yyyyMMdd HH:mm"));
DateUtils.parseDate("20190707 20","yyyyMMdd HH"));
DateUtils.parseDate("20190707","yyyyMMdd"));
DateUtils.parseDate("201907","yyyyMM"));
DateUtils.parseDate("2019","yyyy"));
Sun Jul 07 20:18:18 CST 2019
Sun Jul 07 20:18:18 CST 2019
Sun Jul 07 20:18:18 CST 2019
Sun Jul 07 20:18:18 CST 2019
Sun Jul 07 20:18:00 CST 2019
Sun Jul 07 20:00:00 CST 2019
Sun Jul 07 00:00:00 CST 2019
Mon Jul 01 00:00:00 CST 2019
Tue Jan 01 00:00:00 CST 2019
ZonedDateTime zonedDateTime = ZonedDateTime.now(); // 2024-12-27T14:26:28.020760300+08:00[Asia/Shanghai]
Date date = Date.from(zonedDateTime.toInstant()); // Fri Dec 27 14:26:28 CST 2024
OffsetDateTime offsetdatetime = OffsetDateTime.now(); // 2024-12-27T14:29:39.153629+08:00
Date date = Date.from(offsetdatetime.toInstant()); // Fri Dec 27 14:29:39 CST 2024
LocalDateTime localDateTime = LocalDateTime.of(2019, 7, 7, 20, 18, 18, 888); // 2019-07-07T20:18:18.000000888
Date date = Date.from(localDateTime.toInstant(ZoneOffset.ofHours(8))); // Sun Jul 07 20:18:18 CST 2019
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。