有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在JBossWs web服务中发送日期时的java日期转换

我有一个小的测试设置,其中我的服务器(托管一个web服务)位于BST时区,客户端(简单的基于java的web服务客户端)位于EDT。 当日期对象(较大复杂对象的一部分)从客户端发送到服务器或从客户端发送到服务器时,日期会被调整。比如说

服务器上的2012年8月9日星期四23:24:31 BST在客户端将被视为2012年8月9日星期四18:24:37 EDT。 我理解这是正确的和好的

在我提到的应用程序中,客户端和服务器都不知道时区的对立面。因此,如果没有相应的时区信息,我如何保存时间值

也就是说,当从服务器传输2012年8月9日23:24:31时,客户端也应获得2012年8月9日23:24:31作为值

我希望我说的有道理


共 (1) 个答案

  1. # 1 楼答案

    大约一个月前,我也遇到了同样的问题。它让我发疯,因为它会因为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);
        }