Java REST服务需返回带时区日期,无ZonedDate该如何处理?
在REST Web服务中返回带时区的日期(仅日期部分)的Java实现方案
我之前开发REST Web服务时也碰到过这个需求:要返回仅包含日期、同时带时区偏移的格式,但Java标准库里压根没有ZonedDate这种类型,只有不带时区的LocalDate和带完整日期时间的ZonedDateTime。琢磨了一阵后,我发现用ZonedDateTime做替代挺合适,配合专门的格式化器就能完美解决问题。
具体实现代码如下:
// 初始化ISO_OFFSET_DATE格式化器,专门处理带时区偏移的纯日期格式 DateTimeFormatter formatter = DateTimeFormatter.ISO_OFFSET_DATE; // 获取当前的ZonedDateTime实例(也可根据业务需求构造指定日期的实例) ZonedDateTime dateTime = ZonedDateTime.now(); // 格式化为仅含日期+时区偏移的字符串 String formatted = dateTime.format(formatter);
格式化后的结果示例类似:2018-04-15+02:00,既保留了清晰的日期信息,又明确标注了时区偏移,完全满足REST接口对带时区日期的返回要求。
内容的提问来源于stack exchange,提问作者Peter Walser
相关产品推荐
相关产品推荐

