java - 如何在 Java 中剪切时区信息
问题描述
这是我的数据2018-07-03 00:00:00+02
,但我想得到这个2018-07-03
。如何在 Java 中减少时、分、秒和时区?
解决方案
您可以将输入转换为 a ZoneDateTime
,然后LocalDate
像这样从中提取:
String str = "2018-07-03 00:00:00+02".replace(" ", "T");
ZonedDateTime zdt = ZonedDateTime.parse(str);
LocalDate ld = zdt.toLocalDate(); // 2018-07-03
注意:我使用替换空格'T'
来尊重ZonedDateTime
.
或者更好,您可以使用OffsetDateTime
而不是ZonedDateTime
按照建议Ole V.V.
OffsetDateTime odt = OffsetDateTime.parse(str);
推荐阅读
- java - Maven 项目中未加载 CSS 文件
- regex - 正则表达式搜索 AIS NMEA 句子
- python - 执行 pd.to_sql 时如何设置会话属性?{错误:“必填字段'numDVs'未设置!}
- python-3.7 - AttributeError:“str”对象没有属性“row”
- python-3.x - 使用机器人框架的部分链接文本
- c++ - 初始化数据成员的构造函数
- java - Java 11 SSL 异常:无法找到请求目标的有效证书路径
- android - 无法在颤振应用程序中获取 Firebase 包
- javascript - 带有未定义变量和不完整循环的 javascript Web 控制台
- ruby - 如何抓取 Angular 元素