我正在尝试以这种格式解析日期" dd-MM-yyyy HH:mm"。我提供的输入是" 12-12-17 06:00和#34;但它给了我一个例外。
这是代码,
final public static SimpleDateFormat FRMT_2_DD_MM_YY_HH_MM=new SimpleDateFormat("dd-MM-yy HH:mm", Locale.US);
public static Date parseDateInFormat_Date()
{
try {
return FRMT_2_DD_MM_YY_HH_MM.parse("12-12-17 06:00")
} catch (ParseException e) {
return null;
}
}
这在尝试解析时给了我一个ParseException。这就是我所尝试的。
final public static SimpleDateFormat FRMT_2_DD_MM_YY_HH_MM=new SimpleDateFormat("dd-MM-yy HH:mm", Locale.getDefault());
final public static SimpleDateFormat FRMT_2_DD_MM_YY_HH_MM=new SimpleDateFormat("dd-MM-yy HH:mm");
他们两人都提出了一个解析异常,我不知道为什么?
答案 0 :(得分:0)
这段代码对我有用。试试吧。
SimpleDateFormat format = new SimpleDateFormat("dd-MM-yy hh:mm", Locale.US);
try {
Log.d(TAG, "date: "+format.parse("12-12-17 12:50"));
} catch (ParseException e) {
e.printStackTrace();
Log.d(TAG, "date:Exception ");
}
输出:
date: Tue Dec 12 00:50:00 EST 2017
答案 1 :(得分:0)
您的方法似乎很好,尝试使用e.getPrintStackTrace()打印完整的堆栈跟踪,以查看导致ParseException的传递字符串中的确切位置。 准备进一步帮助。
答案 2 :(得分:0)
您的代码看起来很好。我刚刚对它进行了测试,效果很好。
1-你在return FRMT_2_DD_MM_YY_HH_MM.parse("12-12-17 06:00");
2-由于没有附加异常堆栈跟踪,我怀疑的问题是您正在使用的导入。
这是你应该使用的:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
答案 3 :(得分:0)
这是解决方案,返回FRMT_2_DD_MM_YY_HH_MM.parse
是问题的根本原因,不知道为什么虽然这很好。
public static Date parseDateInFormat_Date()
{
Date date;
try {
date= FRMT_2_DD_MM_YY_HH_MM.parse("12-12-17 06:00")
} catch (ParseException e) {
date=null;
}
return date;
}