无法使用 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);
我有一个时间文本字段,用户可以在其中输入 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);