我正在尝试将原始日期时间转换为我的格式但是给我异常
我的约会对象: 2014-01-22 13:24:03 此格式现在我要转换
Date.java
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd k:mm:ss");
Date date = format.parse("2014-01-22 13:24:03");
String strdate = android.text.format.DateFormat.format("dd.MM kk:mm", date).toString();
我想要这样的输出
22.1 13.24
Logcat Error
01-22 13:24:24.421: W/System.err(27821): java.text.ParseException: Unparseable date: "2014-01-22 13:24:03" (at offset 10)
01-22 13:24:24.431: W/System.err(27821): at java.text.DateFormat.parse(DateFormat.java:626)
答案 0 :(得分:1)
使用此代码
try
{
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = format.parse("2014-01-22 13:24:03");
String newdate = "" + date.getDate() + "." + date.getMonth() + " " + date.getHours() + "." + date.getMinutes();
}
catch( Exception e) {}
答案 1 :(得分:0)
您的模式中有T
,但在您尝试解析的日期却没有。摆脱模式中的T
,问题应该消失。
来自SimpleDateFormat documentation
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" --> 2001-07-04T12:08:56.235-0700
注意模式中的T与正在解析的日期字符串中的相应T匹配。
你的模式包含Kk
也有点奇怪,因为大写和小写k有不同的含义:
k小时(1-24)
上午/下午K小时(0-11)
答案 2 :(得分:0)
该日期格式的正确模式为:yyyy-MM-dd' 'HH:mm:ss
。
然后,为了按照您需要的方式设置日期格式,您可以使用以下模式:dd.M' 'HH.mm
。
答案 3 :(得分:0)
尝试以这种方式执行此操作并查看格式化字符串。:)
String ISO_8601 = new SimpleDateFormat("yyyy-MM-dd'T'HH-mm-ss");
SimpleDateFormat formatter = new SimpleDateFormat();
formatter.format(date);