Android 将字符串解析为Joda DateTime时出现IllegalArgumentException
我试图从字符串startTime创建一个Joda DateTime对象,然后格式化它并提取超时值,例如H:mm 我得到以下例外情况。谁能告诉我为什么 提前谢谢你,马特Android 将字符串解析为Joda DateTime时出现IllegalArgumentException,android,datetime,jodatime,Android,Datetime,Jodatime,我试图从字符串startTime创建一个Joda DateTime对象,然后格式化它并提取超时值,例如H:mm 我得到以下例外情况。谁能告诉我为什么 提前谢谢你,马特 startTime = startTime.trim(); Log.e(TAG, "startTime = " + startTime); DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ssZ"); DateTime dt = dtf
startTime = startTime.trim();
Log.e(TAG, "startTime = " + startTime);
DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ssZ");
DateTime dt = dtf.parseDateTime(startTime);
DateTimeFormatter fmt = DateTimeFormat.forPattern("HH:mm");
String formattedStart = fmt.print(dt);
Log.e(TAG, "formattedStart = " + formattedStart);
如果您使用的是GMT日期,最好使用来自Joda的标准ISODATE时间格式。例如:
startTime = startTime.trim();
Log.e(TAG, "startTime = " + startTime);
DateTimeFormatter dtf = ISODateTimeFormat.dateTime();
DateTime dt = dtf.parseDateTime(startTime);
DateTimeFormatter fmt = DateTimeFormat.forPattern("HH:mm");
//optional, you can also define locale and zone
//.withLocale(Locale.getDefault())
//.withZone(DateTimeZone.getDefault());
String formattedStart = fmt.print(dt);
Log.e(TAG, "formattedStart = " + formattedStart);
startTime = startTime.trim();
Log.e(TAG, "startTime = " + startTime);
DateTimeFormatter dtf = ISODateTimeFormat.dateTime();
DateTime dt = dtf.parseDateTime(startTime);
DateTimeFormatter fmt = DateTimeFormat.forPattern("HH:mm");
//optional, you can also define locale and zone
//.withLocale(Locale.getDefault())
//.withZone(DateTimeZone.getDefault());
String formattedStart = fmt.print(dt);
Log.e(TAG, "formattedStart = " + formattedStart);