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

Java 如何将日期时间字符串输入转换为Joda date time中的格式化日期时间字符串,java,jodatime,Java,Jodatime,我编写了一个函数,将日期时间字符串转换为格式化的日期时间字符串并返回结果 输入日期时间字符串=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");

我编写了一个函数,将日期时间字符串转换为格式化的日期时间字符串并返回结果

输入日期时间字符串=
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;
    }
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);
    }
上面的函数工作正常。但是我使用了
java.text.SimpleDateFormat
来格式化字符串。我试图将相同的功能转换为
joda.time.format.DateTimeFormat
,但是我收到一条错误消息说

java.lang.IllegalArgumentException: Invalid format: "2015-12-16 12:27:07.0" is malformed at ".0"
这是我使用joda date time的新函数

输入日期时间字符串=
2015-12-16 12:27:07.0
输出日期时间应如下所示=
2016年2月20日下午12:32

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;
    }
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);
    }
请让我知道我在哪里出错。

试试这个,供参考

试试这个,仅供参考