【问题标题】:Convert "15 July 2013" to " 2013-07-15" Android [closed]将“2013 年 7 月 15 日”转换为“2013-07-15”Android [关闭]
【发布时间】:2013-07-15 05:19:46
【问题描述】:

如何在 Android 中使用 SimpleDateFormat outputFormat= new SimpleDateFormat("yyyy-MM-dd"); 将“2013 年 7 月 15 日”转换为“2013-07-15”;

更新

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)

【问题讨论】:

  • 你有没有尝试过?
  • 询问您的设备了吗?
  • 您使用了MMM 的一个小错误,应该是MMMM。所以使用SimpleDateFormat simpledateFormat = new SimpleDateFormat("dd-MMMM-yyyy");
  • 如果之前已回答,请不要创建新问题。如果您遇到此异常,很明显您传递了错误的字符串进行解析。 :)

标签: android


【解决方案1】:

做这样的事情

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】:

    这可能会对您有所帮助:

    使用 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 需要一个字符串,而不是一个已经被解析的 Date 对象。

    编辑:

    更改此行:SimpleDateFormat simpledateFormat = new SimpleDateFormat("dd-MMM-yyyy");

    SimpleDateFormat simpledateFormat = new SimpleDateFormat("dd-MMMM-yyyy");

    【讨论】:

    • 请检查更新:java.text.DateFormat.parse(DateFormat.java:626) 处的错误日志
    • 换行好友SimpleDateFormat simpledateFormat = new SimpleDateFormat("dd-MMMM-yyyy");
    【解决方案3】:

    您指定了所有内容,只需添加几行。

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

    【讨论】:

    • 请检查更新:java.text.DateFormat.parse(DateFormat.java:626) 处的错误日志–
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多