我需要将Date(the object :insuree.getBirthDate())
转换为Calendar(the object : request_MDP.setBIRTH_DATE)
但我得到错误:
21/02/13 15:20:26错误[MdmInsureeService]:ServiceProxy更新 例外:'Unparseable date:'Mon Nov 15 15:00:00 IST 1982“'21/02/13 15:20:26 ERROR [MdmInsureeService]:ServiceProxy更新异常 (toString):'java.text.ParseException:Unparseable date:“Mon Nov 15 1982年1月15日15:00“
这是我的代码:
DateFormat formatter = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy");
Date date_MDP =(Date)formatter.parse(insuree.getBirthDate().toString());
Calendar cal_MDP=Calendar.getInstance();
cal_MDP.setTime(date_MDP);
request_MDP.setBIRTH_DATE(cal_MDP);
如何将Date(insuree.getBirthDate())
转换为Calendar(setBIRTH_DATE)
?
由于
答案 0 :(得分:0)
试试这段代码:
SimpleDateFormat df = new SimpleDateFormat("KK:mm aa");
Date date = df.parse("10:30 PM");
System.out.print(date);
Calendar cal = GregorianCalendar.getInstance();
cal.setTimeInMillis(date.getTime());
System.out.print(cal.getTime());
答案 1 :(得分:0)
是否可以在具有非英语语言环境的系统上运行此代码?这样的区域设置可能无法识别您的示例日期中的工作日或月份(“Mon Nov 15 15:00:00 IST 1982”),因为它使用不同的名称(例如,“Tue”将是德语中的“Di”)。
使用
替换代码段中的第一行DateFormat formatter =
new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy", Locale.US);
它将适用于您的示例日期。无论哪种方式,您都必须使用用于生成这些日期字符串的相同格式和区域设置。也许你甚至可以说服发电机使用一些标准格式,如ISO 8601。