簡體   English   中英

如何將日期時間從sqlserver轉換為java.util.Date

[英]How to convert a datetime from sqlserver to java.util.Date

我正在使用android中的改造庫從具有sql server數據庫的表中獲取一行(以asp net core作為web api),據我了解,我必須考慮一個等效於datetime的字符串,然后將其轉換為java.util.Date 。 檢索到的日期時間的示例是2018-10-29T19:56:59 反正有將datetime直接轉換為java.util.Date嗎? 代碼如下所示。

public class Food {
    @SerializedName("Id")
    private long Id;

    @SerializedName("Name")
    private String Name;

    @SerializedName("Content")
    private String Content;

    @SerializedName("IsActive")
    private boolean IsActive;

    @SerializedName("DoesExist")
    private boolean DoesExist;

    @SerializedName("Cost")
    private int Cost;

    @SerializedName("OffPercentage")
    private int OffPercentage;

    @SerializedName("OffTimeout")
    private Date OffTimeout;
...
}

將您的私有Date OffTimeout更改為String,如下所示:

@SerializedName("OffTimeout")
private String OffTimeout;

並使用此方法解析您的日期。

public static Date fromStringToDate(String stringDate, String pattern){
        SimpleDateFormat format = new SimpleDateFormat(pattern);
        try {
            Date date = format.parse(stringDate);
            return date;
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }

采用:

 Date mydate = fromStringToDate(yourOffTimeOut, "yyyy-MM-dd'T'HH:mm:ss");

使用自定義解串器嘗試JodaTime

//GSON config
Gson gson = new GsonBuilder()
            .registerTypeAdapter(DateTime.class, new DateTimeDeserializer ())
            .create();


// DateTimeDeserializer.class
    public class DateTimeDeserializer implements JsonDeserializer<DateTime > {

      @Override
      public DateTime deserialize(final JsonElement json, final Type typeOfT, final JsonDeserializationContext context)
          throws JsonParseException {
        return DateTime.parse(json.getAsString());
      }
    }

另一種可能的解決方案是在發送之前將其轉換為服務器上的Unix時間戳。 時間戳是用於處理日期/時間的更健壯的格式

暫無
暫無

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

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