使用SimpleDateFormat的错误(Error using SimpleDateFormat

2019-09-19 13:45发布

我试图使用的SimpleDateFormat类来分析一个DateTime出这个字符串:

05-JUL-2012 11:38:02442 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:02442 UTC AM”

如何解决这个问题的任何提示?

Answer 1:

当我尝试运行正常工作对我来说:

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设置的东西?



Answer 2:

你给的代码为我工作得很好。 也许,问题是你的语言环境? 尝试指定它,当你创建SimpleDateFormat

SimpleDateFormat format =new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss,SSS z a",
                                              Locale.US);

这样,它会努力寻找美国一个月,AM / PM指示的名称。



Answer 3:

尝试这个...

System.out.println(new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss,SSS z a",
                                              Locale.US).format(new Date()));


Answer 4:

我无法重现你的错误。 你确定你使用的是:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;


文章来源: Error using SimpleDateFormat