我有一个小的测试设置,我的服务器(托管web服务)在BST时区,客户端(简单的基于java的web服务客户端)在EDT。当日期对象(较大的复杂对象的一部分)从客户端发送到服务器或从服务器发送到客户端时,日期正在调整。例如
服务器上的清华8月9日23:24:31 BST 2012在客户端将被视为清华8月9日18:24:37美国东部夏令时2012。我知道这是正确的,也很好。
在我提到的应用程序中,客户端和服务器都不知道对方的时区。因此,如果没有相应的时区信息,我如何保存时间值。
即,当从服务器传输2012年8月9日23:24:31时,客户端也应获得2012年8月9日23:24:31作为值。
我希望我说得有道理。
发布于 2012-08-10 09:06:30
大约一个月前,我刚刚经历了同样的问题。它让我抓狂,因为它会因为UTC时间而将日期滚动。客户端只想要回yyyy/MM/dd,但是JBoss想要返回整个时间戳。
我上周找到了这个,它解决了这个问题。这里有一个指向整个example.的链接
import java.util.Date;
import java.text.SimpleDateFormat;
import javax.xml.bind.annotation.adapters.XmlAdapter;
public class DateAdapter extends XmlAdapter<String, Date> {
// the desired format
private String pattern = "MM/dd/yyyy";
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);
} https://stackoverflow.com/questions/11892927
复制相似问题