如何在Android中使用SimpleDateFormat将“2016年7月15日”转换为“2013-07-15”outputFormat = new SimpleDateFormat(“yyyy-MM-dd”);
更新
String dates ="15 July 2013";
try {
String date="15-July-2013";
SimpleDateFormat simpledateFormat = new SimpleDateFormat("dd-MMMM-yyyy");
Date formattedDate=simpledateFormat.parse(date);
SimpleDateFormat newDate =new SimpleDateFormat("yyyy-MM-dd");
String formatDate=newDate.format(formattedDate);
System.out.println("formatDate: "+formatDate);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
java.text.DateFormat.parse(DateFormat.java:626)中的错误日志:
07-15 09:46:24.170: W/System.err(23522): at java.text.DateFormat.parse(DateFormat.java:626)
07-15 09:46:24.170: W/System.err(23522): at .CompteCompagnon.onCreate(CompteCompagnon.java:87)
07-15 09:46:24.170: W/System.err(23522): at android.app.Activity.performCreate(Activity.java:5206)
07-15 09:46:24.170: W/System.err(23522): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1083)
07-15 09:46:24.170: W/System.err(23522): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2064)
07-15 09:46:24.170: W/System.err(23522): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125)
07-15 09:46:24.170: W/System.err(23522): at android.app.ActivityThread.access$600(ActivityThread.java:140)
07-15 09:46:24.170: W/System.err(23522): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227)
07-15 09:46:24.170: W/System.err(23522): at android.os.Handler.dispatchMessage(Handler.java:99)
07-15 09:46:24.170: W/System.err(23522): at android.os.Looper.loop(Looper.java:137)
07-15 09:46:24.170: W/System.err(23522): at android.app.ActivityThread.main(ActivityThread.java:4898)
07-15 09:46:24.170: W/System.err(23522): at java.lang.reflect.Method.invokeNative(Native Method)
07-15 09:46:24.170: W/System.err(23522): at java.lang.reflect.Method.invoke(Method.java:511)
07-15 09:46:24.170: W/System.err(23522): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
07-15 09:46:24.170: W/System.err(23522): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
07-15 09:46:24.170: W/System.err(23522): at dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:2)
这可能会对您有所帮助:
使用SimpleDateFormat:
DateFormat originalFormat = new SimpleDateFormat("dd MMMM yyyy");
DateFormat targetFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = originalFormat.parse(Your Date string);
String formattedDate = targetFormat.format(date);
另请注意,parse采用的是String,而不是已经解析的Date对象。
修改强>
更改此行:SimpleDateFormat simpledateFormat = new SimpleDateFormat("dd-MMM-yyyy");
到
SimpleDateFormat simpledateFormat = new SimpleDateFormat("dd-MMMM-yyyy");
答案 1 :(得分:2)
做这样的事情
SimpleDateFormat outputFormat= new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat formatInputDate = new SimpleDateFormat("dd MMMM yyyy");
Date date=formatInputDate.parse(inputString);
String output=outputFormat.format(date);
答案 2 :(得分:1)
您指定的所有内容只需添加几行。
String strDate="15-July-2013";
SimpleDateFormat simpledateFormat = new SimpleDateFormat("dd-MMM-yyyy");
try {
Date formattedDate=simpledateFormat.parse(strDate);
simpledateFormat=new SimpleDateFormat("yyyy-MM-dd");
String changedDate=simpledateFormat.format(formattedDate);
System.out.println(changedDate);
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}