如何在肥皂请求中设置时区

时间:2018-10-18 06:17:07

标签: java soap calendar timezone

我需要在我的肥皂请求dateTime字段中添加时区。

请参见下面的Java服务客户端代码片段,

Calendar cancelDate = Calendar.getInstance(TimeZone.getDefault());

我调试时可以看到以下时区设置:

zone=sun.util.calendar.ZoneInfo[id="Etc/GMT-3"

java.util.GregorianCalendar[time=1539843209365,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Etc/GMT-3",offset=10800000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=2,minimalDaysInFirstWeek=1,ERA=1,YEAR=2018,MONTH=9,WEEK_OF_YEAR=42,WEEK_OF_MONTH=3,DAY_OF_MONTH=18,DAY_OF_YEAR=291,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=3,AM_PM=0,HOUR=9,HOUR_OF_DAY=9,MINUTE=13,SECOND=29,MILLISECOND=365,ZONE_OFFSET=10800000,DST_OFFSET=0]

但是在肥皂请求中,它会像这样弹出(显示在现在的3小时之前):

<CancelDate>2018-10-18T06:10:07.738Z</CancelDate>

时间信息后没有附加时区。我想要的是请求:

2018-10-18T16:23:20.000+03:00

那我应该怎么做呢?

谢谢!

2 个答案:

答案 0 :(得分:1)

必须有一个 T 和一个 Z 例如:2021-05-16T00:00:00Z

答案 1 :(得分:0)

我在soapUi中使用这个内联:

"${= Calendar.getInstance(TimeZone.getTimeZone('CET')).format("yyyy-MM-dd'T'HH:mm:ssZ")}"

结果:

"2021-03-09T11:09:02+0100"