我就像在這個問題上的兩天。這是從這個問題的延續:convert string to joda datetime gets stuck如何將日期轉換爲DateTime或LocalDate Joda
我想執行一個簡單的任務,採取SQL SERVER ISO 8601字符串並將其轉換爲DateTime或LocalDate。我嘗試了一切,但是當涉及到使用調試器進行的實際轉換時,程序光標只是用於思考而不會返回,即程序停留在此處。
我真的很絕望,我甚至試圖將該字符串轉換爲日期(它工作!),然後將該日期轉換爲DateTime或LocalDate。所有的結果都一樣,在轉換線上,程序看起來像停留在一些無限循環(並且風扇開始瘋狂地工作)。
這是我這麼簡單的功能:
public static LocalDate SQLServerIso8601StringToLocalDate(String date) {
LocalDate dateToReturn = null;
DateFormat df = new SimpleDateFormat(CONSTS_APP_GENERAL.SQL_SERVER_DATE_FORMAT);
try {
Date tempDate = (Date) df.parse(date);
DateTime dt = new DateTime(tempDate);
dateToReturn = new LocalDate(tempDate);
} catch (ParseException e) {
// strToReturn = strSqlDate;
}
return dateToReturn;
/*
date = date.replace('T', ' ');
return SimpleIso8601StringToDateTime(date);
*/
//return LocalDate.parse(date, DateTimeFormat.forPattern(CONSTS_APP_GENERAL.SQL_SERVER_DATE_FORMAT));
/* DateTimeFormatter df = DateTimeFormat.forPattern(CONSTS_APP_GENERAL.SQL_SERVER_DATE_FORMAT_WITH_TZ);
return df.parseDateTime(date);
*/ }
這是我的字符串:2014-01-01T00:00:00
也:
public static final String SQL_SERVER_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss";
任何想法?
你想說'新的LocalDate(tempDate);'讓你的電腦永遠忙於工作,等於具體的java.util.Date作爲輸入嗎? –