2016-10-13 4 views
0

私は、Dateオブジェクトをajaxリクエストのjavascript Dateオブジェクトとして送信しようとしています。日付は、クライアント側から送信されている日よりも1日早く表示されます。これはジャックソン・ジョンソンがデフォルトのタイムゾーンをUTCに設定しているためです。ジャクソンjson形式の日付は、タイムゾーンを設定した後でもシリアル化します

@JsonFormat(shape= JsonFormat.Shape.STRING, pattern="mm-dd-yyyy",timezone="CET") 

タイムゾーンをEST、アメリカ/ニューヨークに設定しているため、正しい日付を取得できないようです。私はそれが原因日付形式のタイプミスのだと思う

答えて

1

は、我々はミリメートル対

@JsonFormat(shape= JsonFormat.Shape.STRING, pattern="MM-dd-yyyy",timezone="CET")

すなわちMMに

@JsonFormat(shape= JsonFormat.Shape.STRING, pattern="mm-dd-yyyy",timezone="CET")

からそれを変更する必要があります。

以下は私のために正常に動作します:

class Model{ 

    @JsonFormat(shape= JsonFormat.Shape.STRING, pattern="MM-dd-yyyy",timezone="CET") 
    private Date date; 

    /** 
    * @return the date 
    */ 
    public Date getDate() { 
     return date; 
    } 

    /** 
    * @param date the date to set 
    */ 
    public void setDate(Date date) { 
     this.date = date; 
    } 
} 

public static void main(String[] args) throws Exception{ 
     Model model = new Model(); 
     model.setDate(new Date()); 

     System.out.println(new ObjectMapper().writeValueAsString(model)); 
    } 
+0

うわー。私はそれに気付かなかった。どうもありがとう !私は今やとても気分が悪いです。笑 – Imprfectluck

関連する問題