Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java ZoneDateTime:在进行计算时保留时区ID_Java_Datetime_Groovy_<img Src="//i.stack.imgur.com/A3TTx.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch Painless_Zoneddatetime - Fatal编程技术网 elasticsearch-painless,zoneddatetime,Java,Datetime,Groovy,elasticsearch Painless,Zoneddatetime" /> elasticsearch-painless,zoneddatetime,Java,Datetime,Groovy,elasticsearch Painless,Zoneddatetime" />

java ZoneDateTime:在进行计算时保留时区ID

java ZoneDateTime:在进行计算时保留时区ID,java,datetime,groovy,elasticsearch-painless,zoneddatetime,Java,Datetime,Groovy,elasticsearch Painless,Zoneddatetime,我有一些无痛的小脚本代码(Groovy方言,它本身是基于Java的),它用区域id解析一些时间戳。 但是,在执行涉及跨越夏令时边界的计算时,时区id会更改 可复制示例: def form=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss (zzz)") in=ZonedDateTime.parse(input, form) out_plusweek=in.plusHours(168).format(form) 对于大多数输入,我的工作结果很好:

我有一些无痛的小脚本代码(Groovy方言,它本身是基于Java的),它用区域id解析一些时间戳。 但是,在执行涉及跨越夏令时边界的计算时,时区id会更改

可复制示例:

def form=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss (zzz)")
in=ZonedDateTime.parse(input, form)
out_plusweek=in.plusHours(168).format(form)
对于大多数输入,我的工作结果很好:
2019-08-27 11:05:00(欧洲/阿姆斯特丹)
给出了
2019-09-03 11:05:00(欧洲/阿姆斯特丹)
,类似日期相同

但是,如果我输入
2019-03-29 11:05:00(欧洲/阿姆斯特丹)
,则输出变量设置为
2019-04-05 12:05:00(CEST)

该值本身正常,但时区名称更改为
CEST
(中欧夏季时间)。这是正确的,但在我的脚本的下一步中不再可以解析,它需要一个像
Europe/Amsterdam


那么,我如何才能获得
2019-04-05 12:05:00(欧洲/阿姆斯特丹)

我建议使用不同的格式模式打印结果。尝试使用
VV
而不是
zzz

根据小写字母
z
将为您提供时区名称,如太平洋标准时间或太平洋标准时间。对于时区ID,如America/Los_Angeles,您需要大写
V
。以及:

如果字母数为2,则输出时区ID。任何 其他字母计数引发非法argumentException


@艾布拉:是的,
VV
是我需要的,谢谢!你是对的,它不是严格意义上的java。它是无痛的(由elasticsearch使用),据我所知,这是一种Groovy方言(我对Groovy本身没有经验)。@Abra如果你关心它:如果你把它变成一个,我会接受你的答案