簡體   English   中英

如何將日期時間轉換為日期?

[英]How to convert DateTime to Date?

Cotacoes類中,我有creation_date字段,它是一個日期,但在服務器上它是一個日期時間。 收到JSON后,出現如下錯誤:

java.text.ParseException: Failed to parse date ["2018-11-05T12:12:37.307']: No time zone indicator

如何解決這個問題呢? 我使用改造從服務器撥打和接聽電話。

可可:

public class Cotacoes implements Serializable {

    private static final long serialVersionUID = 842387749350567455L;
    @SerializedName("quotation_id")
    @Expose
    private int quotation_id;
    //private int transaction_id;
    @SerializedName("pecas")
    @Expose
    private List<Pecas> pecas;
    @SerializedName("creation_date")
    @Expose
    private Date creation_date;
   // private int duration;
    @SerializedName("brand")
    @Expose
    private String brand;
    @SerializedName("vehicle")
    @Expose
    private String vehicle;

....
getters and setters
}

改造:

public class APIRetrofit {
    public static final String BASE_URL = "http://server.net/";
    private static Retrofit retrofit = null;

    private static Gson gson = new GsonBuilder()
            .create();


    public static Retrofit getRetrofitClient() {
        if (retrofit==null) {
            retrofit = new Retrofit.Builder()
                    .baseUrl(BASE_URL)
                    .addConverterFactory(GsonConverterFactory.create(gson))
                    .build();
        }
        return retrofit;
    }
}

界面:

public interface APIService {

    interface ReturnFutureCallback<T> {
        void onSuccess(T retorno);

        void onFailure(T retorno);
    }

    @POST("/cotacao")
    @FormUrlEncoded
    Call<JsonQuotationResponse> listaCotacao(@Header("Authorization") String token, @Field("seller_company_id") String seller_company_id);

}
  • 我認為,在服務器上,它是 longtime 或 String,所以 creation_date 字段,它是 longtime 或 String

您必須創建 JsonDeserializer 以將 DateTime 解析為自定義的 Date 對象。

有關更多詳細信息,您可以參考以下鏈接:

https://kylewbanks.com/blog/String-Date-Parsing-with-GSON-UTC-Time-Zone

gson 無法使用 GsonBuilder.setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ") 解析

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM