gpt4 book ai didi

java - 从 Web 服务响应中删除时区

转载 作者:行者123 更新时间:2023-12-02 00:42:49 24 4
gpt4 key购买 nike

有没有办法从 Web 服务返回的 Java Date 对象中删除时区组件?

例如,我的开始日期为上午 12 点。我希望将其用作客户端的本地时间上午 12 点。

我认为如果肥皂消息没有时区组件,则使用本地时区。我权衡过另外两个选项,要么在客户端对日期进行算术(我真的不想这样做),要么创建一个新的日期类,将日、月和年保存为整数(我不需要时间信息)。后一个选项需要大量重构,因此如果有一种方法可以直接截断肥皂消息中的时区信息,那就更好了。

客户端是用 .NET 编写的,因此如果有一种方法可以更改客户端解释日期的方式,我认为这将实现相同的目标。

最佳答案

我相信我已经找到了解决问题的方法。我使用 @XmlJavaTypeAdapter 来更改日期类编码到 Xml 的方式。

这是我使用的 DateAdapter。

import java.text.SimpleDateFormat;
import java.util.Date;
import javax.xml.bind.annotation.adapters.XmlAdapter;

public class DateAdapter extends XmlAdapter<String, Date> {
// the desired format
private String pattern = "yyyy-MM-dd";

public String marshal(Date date) throws Exception {
return new SimpleDateFormat(pattern).format(date);
}

public Date unmarshal(String dateString) throws Exception {
return new SimpleDateFormat(pattern).parse(dateString);
}
}

我在所有想要使用“yyyy-MM-dd”日期格式的 getter 上使用了以下注释。

@XmlJavaTypeAdapter(value=DateAdapter.class, type=Date.class)

关于java - 从 Web 服务响应中删除时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5862061/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com