[英]JodaTime convert from Java.util.Date to DateTime (or LocalDate)
[英]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.