无法使用 JodaTime 将时间转换为日期时间 Android

Unable to Convert Time to Datetime using JodaTime Android

我有一个时间文本字段,用户可以在其中输入 9:30 AM 或 9:30 PM,一旦他们单击下一个 activity 的按钮,我需要将该时间存储在 DateTime 字段中,我 运行 遇到的问题是,我无法使用 DateTime.parse("9:30 AM") (使用 joda 时间)将时间转换为日期时间变量。

如有任何建议,我们将不胜感激。

更新:

这是我尝试使用的部分代码

Classx x = new Classx();

注:文本框中"at"的值为9:30PM

String d = at.getText().toString();
x.xTime = DateTime.parse(d);

at 是选中 "Time" 设置的 EditText。 Classx是存储变量的class。

Classx 布局

public class Classx extends AttributeContainer implements KvmSerializable
{

    public org.joda.time.DateTime xTime;

    public String C;

    public org.joda.time.DateTime Date;
}

注意:所有变量名称都已更改以保护无辜者。

在 Joda-Time 中,时间值由 LocalTime 对象表示。这是一个读取您给出的字符串的示例:

String inputTime = "9:30 PM";

DateTimeFormatterBuilder builder = new DateTimeFormatterBuilder();
builder.appendPattern("h:mm a");

LocalTime time = LocalTime.parse(inputTime, builder.toFormatter());

如果您需要以某种方式将它与现有的 DateTime 结合起来,您可以这样做:

DateTime orig = DateTime.now(); // or whatever    
DateTime dt = orig.withTime(time);