How to parse date string to Date?
本问题已经有最佳答案,请猛点这里访问。
如何将下面的日期字符串解析为
1 2 3 | String target ="Thu Sep 28 20:29:30 JST 2000"; DateFormat df = new SimpleDateFormat("E MM dd kk:mm:ss z yyyy"); Date result = df.parse(target); |
引发异常…
1 2 | java.text.ParseException: Unparseable date:"Thu Sep 28 20:29:30 JST 2000" at java.text.DateFormat.parse(DateFormat.java:337) |
模式错误。你有三个字母的日缩写,所以它必须是
1 2 3 4 5 6 | public static void main(String[] args) throws Exception { String target ="Thu Sep 28 20:29:30 JST 2000"; DateFormat df = new SimpleDateFormat("EEE MMM dd kk:mm:ss z yyyy", Locale.ENGLISH); Date result = df.parse(target); System.out.println(result); } |
这里有指纹
1 | Thu Sep 28 07:29:30 BOT 2000 |
根据我的时区,这是正确的。
如果你不想用
下面是一个工作示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | import java.text.ParseException; import java.text.SimpleDateFormat; import java.text.DateFormat; import java.util.Date; public class j4496359 { public static void main(String[] args) { try { String target ="Thu Sep 28 20:29:30 JST 2000"; DateFormat df = new SimpleDateFormat("EEE MMM dd kk:mm:ss zzz yyyy"); Date result = df.parse(target); System.out.println(result); } catch (ParseException pe) { pe.printStackTrace(); } } } |
将打印:
1 | Thu Sep 28 13:29:30 CEST 2000 |
1 2 3 4 | String target ="27-09-1991 20:29:30"; DateFormat df = new SimpleDateFormat("dd MM yyyy HH:mm:ss"); Date result = df.parse(target); System.out.println(result); |
这行吗?
1 |
和
1 |
仍然运行。但是,如果您的代码抛出异常,则是因为您的工具或JDK或任何其他原因。因为在我的IDE中也有同样的错误,但是请用z z z和z检查http://ideone.com/y2crr(在线IDE)
输出为:
我有这个问题,我把
1 |
对于
分析异常是选中的异常,因此在将字符串解析为日期时,必须使用try catch来捕获它,正如@miku建议的那样…