如何将日期时间字符串输入转换为 Joda 日期时间中的格式化日期时间字符串

How to convert a date time string input as formatted date time string in Joda date time

我写了一个函数来将日期时间字符串转换为格式化的日期时间字符串和 return 结果。

输入日期时间字符串=2015-12-16 12:27:07.0 输出日期时间字符串= 02/20/2016 12:32 PM

public static String convertDateToCustomFormat(String dateString) {
        DateFormat dbDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        DateFormat uiDateFormat = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");
        String date = null;
        try {
            date = uiDateFormat.format(dbDateFormat.parse(dateString));

        } catch (ParseException e) {

            e.printStackTrace();
        }

        return date;
    }

以上功能有效 fine.But 我使用 java.text.SimpleDateFormat 格式化 string.I 试图将相同的功能转换为 joda.time.format.DateTimeFormat 但我收到一条错误消息说

java.lang.IllegalArgumentException: Invalid format: "2015-12-16 12:27:07.0" is malformed at ".0"

这是我使用 joda 日期时间的新函数

输入日期时间字符串=2015-12-16 12:27:07.0 输出日期时间应该是这样 = 02/20/2016 12:32 PM

public static String convertDateToCustomFormat(String dateString) {
        DateTimeFormatter dbDateFormat = DateTimeFormat
                .forPattern(("yyyy-MM-dd HH:mm:ss .aa"));
        DateTimeFormatter uiDateFormat = DateTimeFormat
                .forPattern("MM/dd/yyyy hh:mm:ss aa");
        DateTime date = null;

        date = dbDateFormat.parseDateTime(dateString);

        return uiDateFormat.print(date);
    }

请告诉我哪里做错了。

试试这个,仅供参考 DatetimeFormat

public static String convertDateToCustomFormat(String dateString) {
    DateTimeFormatter dbDateFormat = DateTimeFormat
            .forPattern(("yyyy-MM-dd HH:mm:ss.S"));
    DateTimeFormatter uiDateFormat = DateTimeFormat
            .forPattern("MM/dd/yyyy hh:mm:ss a");
    DateTime date = null;

    date = dbDateFormat.parseDateTime(dateString);

    return uiDateFormat.print(date);
}