目前我们正在使用
DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSX")
要将时间范围格式化为外部供应商的一系列数据,对于印度,该格式化程序将像这样提供时间:
2018-04-26T00:00:00.000+0530
但是,我的供应商说他们不能接受这种格式,它必须看起来像
2018-04-26T00:00:00.000+05:30
但是,在 DateTimeFormatter 中,无论我选择 Z/z/X/x,我都没有得到那种格式的偏移量。只是想知道是否有一种方法可以将偏移量自定义为 HH:mm?
或者,我需要在第二个时间获得偏移量并自己工作?
是三个x。刚试过 JavaRepl :
java.time.format.DateTimeFormatter
.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSxxx")
.withZone(java.time.ZoneId.systemDefault())
.format(java.time.Instant.now())
结果
java.lang.String res10 = "2018-04-27T11:06:50.648+00:00"
经过反复试验,我看到 DateTimeFormatter
的 API 文档中也记录了这一点,但并不容易找到(埋在很多其他文本中):
Three letters outputs the hour and minute, with a colon, such as '+01:30'
DateTimeFormatter API Documentation