如何parsingdatestring到date?
如何将datestringparsing到Date对象中? 
 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); 
抛出exception…
 java.text.ParseException: Unparseable date: "Thu Sep 28 20:29:30 JST 2000" at java.text.DateFormat.parse(DateFormat.java:337) 
	
 模式是错误的。 你有一个3个字母的date缩写,所以它必须是EEE 。 你有一个3个字母的月份缩写,所以它必须是MMM 。 由于那些date和月份缩写是区域敏感的,所以您希望明确指定SimpleDateFormat区域设置为英文,否则将使用平台默认语言环境,本身可能不是英语。 
 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); } 
这在这里打印
Thu Sep 28 07:29:30 BOT 2000
这是根据我的时区正确的。
 如果你不喜欢使用HH而不是kk我也会重新考虑。 阅读javadoc ,了解有关有效模式的详细信息。 
这是一个工作的例子:
 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(); } } } 
将打印:
 Thu Sep 28 13:29:30 CEST 2000 
 new SimpleDateFormat("EEE MMM dd kk:mm:ss ZZZ yyyy"); 
和
 new SimpleDateFormat("EEE MMM dd kk:mm:ss Z yyyy"); 
仍然运行。 但是,如果你的代码抛出exception,那是因为你的工具或者jdk或者其他原因。 因为我在IDE中遇到同样的错误 ,请使用ZZZ和Z来检查这些http://ideone.com/Y2cRr (在线ide)
 输出是: Thu Sep 28 11:29:30 GMT 2000 
 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); 
这工作正常?
 我有这个问题,我把地区Locale为US ,然后工作。 
 static DateFormat visitTimeFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy",Locale.US); 
 为String "Sun Jul 08 00:06:30 UTC 2012" 
parsingexception是一个检查exception,所以你必须在parsingstring到date的时候用try-catch来捕捉exception,就像@mikubuild议的那样。