如何将Date转换为DateTime或LocalDate Joda



这个问题我已经想了两天了。这是这个问题的延续:将字符串转换为joda日期时间卡住

我试图执行一个简单的任务,采取SQL SERVER ISO 8601字符串并将其转换为日期时间或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";

任何想法?

public static Date getDateFromString(String format, String dateStr) {
    DateFormat formatter = new SimpleDateFormat(format);
    Date date = null;
    try {
        date = (Date) formatter.parse(dateStr);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return date;
}

相关内容

  • 没有找到相关文章

最新更新