我使用JXDatePicker和JSpinner从用户输入日期和时间。
然后我需要以长毫秒格式将其格式化为一个日期。
在JXDatePicker中输入03/09/2014,JXDatePicker的输出为:
Wed Sep 03 00:00:00 IDT 2014
并且在JSpinner中输入11:00时,JSpinner的输出为:
Thu Jan 01 22:33:00 IST 1970
我需要将这两个输出结合起来以获取完整日期,然后将其转换为以毫秒为单位的长整数。
我使用此代码:
SimpleDateFormat f = new SimpleDateFormat("DDD MMM dd yyyy hh:mm:ss");
String string_date =
datePicker.getDate().toString().substring(0, 11) +
datePicker.getDate).toString().substring(24, 28) +
hourPicker.getValue().toString().substring(10,19);
Date d;
try {
d = f.parse(string_date);
} catch (ParseException e3) {
e3.printStackTrace();
}
并获得此例外:
java.text.ParseException: Unparseable date: "Wed Sep 17 2014 12:44:22"
at java.text.DateFormat.parse(Unknown Source)
at MainFrame.sendButtonActionPerformed(MainFrame.java:598)
at MainFrame.access$3(MainFrame.java:574)
at MainFrame$3.actionPerformed(MainFrame.java:434)
请帮忙!
感谢, 戴夫。
答案 0 :(得分:1)
为了解析Wed使用'EEE',如下所示,有效标志列表为here
class Test
{
public static void main(String[] args) throws ParseException {
SimpleDateFormat f = new SimpleDateFormat("EEE MMM dd yyyy hh:mm:ss");
String string_date = "Wed Sep 17 2014 12:44:22";
System.out.println(f.parse(string_date));
}
}