org.joda.DateTime返回错误的月份

use*_*444 1 java datetime

DateTimeFormatter d_t = DateTimeFormat.forPattern("DD-MMM-YYYY HH:mm");
String date = "02-Mar-2003 00:01";
DateTime dateTime = DateTime.parse(date, d_t);
Run Code Online (Sandbox Code Playgroud)

当我运行代码时它返回2003年1月2日12:01

Jes*_*per 7

您的日期格式字符串是错误的.使用dd而不是DD天.

根据文档,DD意味着" 一年中的一天",而您需要dd,这意味着"一天中的一天 ".

将第一行更改为:

DateTimeFormatter d_t = DateTimeFormat.forPattern("dd-MMM-YYYY HH:mm");
Run Code Online (Sandbox Code Playgroud)