java - DateTimeFormat 给出与 SimpleDateformat 不同的结果
问题描述
为什么DateTimeFormatter
给出不同的结果SimpleDateFormat
?
String dateString = "0819-03-03";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(dateString);
System.out.println(sdf.format(date));
System.out.println(DateTimeFormatter.ISO_LOCAL_DATE.format(
ZonedDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault())
));
输出是:
0819-03-03 // SimpleDateFormat
0819-03-07 // DateTimeFormatter
我怀疑这与日期很旧有关。
解决方案
推荐阅读
- javascript - JavaScript 检查是 word 文档是否打开
- android - 当我仅在省电模式下使用插拔 USB 进行测试时,如何避免自动重新启动活动
- selenium - Pytest + 硒。测试网站上的所有链接
- html - HTML,CSS:将按钮内的文本与图像对齐
- c# - 插入 Catia V5 CATDrawing 时保存的 png 图像失去透明度
- python - 自定义记录器不覆盖根日志级别
- apache-kafka - Strimzi kafka 出口商 kafka_consumergroup_members 指标
- java - Java 变量是一台机器上的 Timestamp 和另一台机器上的 LocalDateTime
- visual-studio-2015 - 如何在导航栏中永久显示方法下拉列表?
- azure - Azure AD 用户删除和触发器