You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用java.time.ZonedDateTime与DateTimeFormatter输出不带[GMT]的时间

实现方法

你得到带[GMT]后缀的输出,是因为直接输出ZonedDateTime实例时调用了它的默认toString()方法,该方法默认会附带时区区域标识后缀。要得到你需要的无后缀格式,可直接通过以下方式实现:

代码示例

val zonedFormatter: DateTimeFormatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm z")
val zonedDateTime = ZonedDateTime.from(zonedFormatter.parse("31.07.2020 14:15 GMT"))
// 两种实现方式二选一即可
// 方式1:转换为Instant后直接输出,默认格式符合要求
val displayDate = zonedDateTime.toInstant().toString()
// 方式2:使用预定义的ISO_INSTANT格式化器格式化
val displayDate = zonedDateTime.format(DateTimeFormatter.ISO_INSTANT)

最终输出的displayDate值就是你需要的2020-07-31T14:15:00Z格式。

补充说明

Instant是Java时间库中表示瞬时时间的类,它的默认toString()方法遵循ISO-8601瞬时时间规范,只会输出时间和UTC偏移标识Z,不会附带时区区域名称,正好匹配你的需求。

内容的提问来源于stack exchange,提问作者Ry2254

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 22:36:05