将“2013年7月15日”转换为“2013-07-15”Android

时间:2013-07-15 05:19:46

标签: android

如何在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)

3 个答案:

答案 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();
    }