我试图使用SimpleDateFormat类来解析此字符串中的DateTime:
05-Jul-2012 11:38:02,442 UTC AM
我尝试了以下格式字符串:
SimpleDateFormat dateformatYYYYMMDD = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss,SSS z a");
Date temp = dateformatYYYYMMDD.parse(time);
但它会产生错误:
错误:无法解析的日期:""
如果我使用zZ,我会得到:错误:无法解析的日期:" 05-Jul-2012 11:38:02,442 UTC AM"
有关如何解决这个问题的任何提示?
答案 0 :(得分:6)
您提供的代码对我来说很好。也许问题出在你的地方?在创建SimpleDateFormat
时尝试指定它:
SimpleDateFormat format =new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss,SSS z a",
Locale.US);
这样它会尝试找到美国月份和上午/下午的指定名称。
答案 1 :(得分:2)
当我尝试跑步时,这对我很好:
String time = "05-Jul-2012 11:38:02,442 UTC AM";
SimpleDateFormat dateformatYYYYMMDD = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss,SSS z a");
Date temp = dateformatYYYYMMDD.parse(time);
您确定time
设置为什么?
答案 2 :(得分:0)
试试这个......
System.out.println(new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss,SSS z a",
Locale.US).format(new Date()));
答案 3 :(得分:0)
我无法重现您的错误。你确定你在使用:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;