【问题标题】:Android Change Date FormatAndroid 更改日期格式
【发布时间】:2014-02-20 11:33:13
【问题描述】:

无法解析的日期:“20/02/2014”

我有字符串格式的日期“20/02/2014”,想将其格式更改为“MMMM dd,yyyy”,但它给出了错误。

代码如下:

  try {
    SimpleDateFormat df = new SimpleDateFormat("MMMM dd,yyyy");
     Date date = df.parse("20/02/2014"); 
    System.out.println(date); 
} catch (ParseException e) {  

    e.printStackTrace();  
} catch (java.text.ParseException e) {
    e.printStackTrace();
}

【问题讨论】:

  • 提示:您的日期字符串是否要以MMMM dd,yyyy 格式解析?如果不是,解析的格式字符串应该是什么?
  • 需要使用两种不同的格式进行两次解析。

标签: android date-format


【解决方案1】:

试试这个代码:

try {
          String str = "20/02/2014";
          SimpleDateFormat sdf1 = new SimpleDateFormat("dd/MM/yyyy");
          SimpleDateFormat sdf2 = new SimpleDateFormat("MMMM dd,yyyy");

          System.out.println("Formatted Date : "+sdf2.format(sdf1.parse(str)));       } catch (Exception e) {
      e.printStackTrace();        }

【讨论】:

    【解决方案2】:

    您没有更改日期格式。您以这种格式传递日期 dd/mm/yyyy:

    try {
        SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
         Date date = df.parse("20/02/2014"); 
        System.out.println(date); 
    } catch (ParseException e) {  
    
        e.printStackTrace();  
    } catch (java.text.ParseException e) {
        e.printStackTrace();
    }
    

    为了改变格式并有一个新的日期,你需要使用format命令

    SimpleDateFormat  sdf = new SimpleDateFormat("MMMM dd,yyyy");
    date = sdf.format(date); 
    

    【讨论】:

      【解决方案3】:

      你的字符串是dd/MM/yyyy 格式

       try {
          SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
          SimpleDateFormat df = new SimpleDateFormat("MMMM dd,yyyy");
           String date = formatter.parse("20/02/2014"); 
          Date date2 = df.format(date);
          System.out.println(date); 
      } catch (ParseException e) {  
      
          e.printStackTrace();  
      } catch (java.text.ParseException e) {
          e.printStackTrace();
      }
      

      【讨论】:

        【解决方案4】:

        这样做

           try {
                SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
                SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
                Date date = df.parse("20/02/2014"); 
                System.out.println(sdf.format(date)); 
            } catch (ParseException e) {  
        
                e.printStackTrace();  
            }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-06-05
          • 2016-11-22
          相关资源
          最近更新 更多