SimpleDateFormat和parseException

时间:2014-05-27 10:26:25

标签: java java-ee gwt

我正在开发一个Web应用程序到GWT,我正在使用Object DatePicker。此对象以定义的格式检索日期,我将其转换为字符串,例如:

Wed May 14 2014 00:00

对我来说,将此日期用作某些操作的字符串非常有用。但是,对于其中一个我需要Timestamp对象。出于这个原因,我以下列方式使用SimpleDateFormat对象:

SimpleDateFormat sdf = new SimpleDateFormat("E MMM dd yyyy HH:mm");
Timestamp tDateIni = new Timestamp(sdf.parse(sDateIni).getTime());

然而,当我运行远程调试时,我得到一个ParseException。你知道错误是什么吗?我认为我使用的部分" E MMM"中的SimpleDateFormat对象格式不正确,但我不确定。非常感谢提前!

4 个答案:

答案 0 :(得分:1)

如果您想在GWT中解析客户端的日期,请尝试使用DateTimeFormat

DateTimeFormat dateTimeFormat=DateTimeFormat.getFormat("E MMM dd yyyy HH:mm");
Date date=dateTimeFormat.parse("Wed May 14 2014 00:00");

如果要在服务器端解析日期,则将时间(以毫秒为单位)作为长值传递,而不是从客户端传递日期字符串,并使用new Date(timeInMills)

在服务器端形成日期

答案 1 :(得分:0)

更改此内容
SimpleDateFormat sdf = new SimpleDateFormat("E MMM dd yyyy HH:mm");

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd yyyy HH:mm");

应该{​​{1}}代替EEE代表E等工作日

在代码下方,完美无缺( TESTED

Wed

答案 2 :(得分:0)

您的日期格式使用星期几格式,要求" EEE"而不是" E"。当程序尝试读取日期字符串时,这会导致异常。期待一周中的一个字母。

http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

答案 3 :(得分:0)

我在SimpleDateFormat对象中添加了Locale对象,现在它可以工作了。感谢您的帮助和意见!!!

相关问题