android转换字符串到日期异常

时间:2014-01-16 08:28:24

标签: android

当我尝试将字符串转换为日期时出现异常:

String da="16-Jan-2014 10:25:00";
SimpleDateFormat sdf = new SimpleDateFormat("dd-mmm-yyyy HH:mm:SS", Locale.ENGLISH);
Date dd = sdf.parse(da); 

我的代码有什么问题?

java.text.ParseException: Unparseable date:"16-Jan-2014 10:25:00" (at offset 3)

提前感谢...

3 个答案:

答案 0 :(得分:4)

你几个月来一直在使用小写字母。它们应该改成大写字母M'。如下所述:http://developer.android.com/reference/java/text/SimpleDateFormat.html

所以模式将是这样的:

SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy HH:mm:SS", Locale.ENGLISH);

答案 1 :(得分:1)

考虑以下示例

String text = "2014-01-17T00:00:00.000-0500";
DateFormat sdf = new SimpleDateFormat("yyyy-MMM-dd'T'HH:mm:ss.SSSZ");

希望这可以帮助

答案 2 :(得分:1)

@Tim Kranen 所述,月份格式为大写字母。所以它应该是MMM

要了解月份格式,请考虑这个简短的代码 -

/*
  Formatting month using SimpleDateFormat
  This example shows how to format month using Java SimpleDateFormat class. Month can
  be formatted in M, MM, MMM and MMMM formats.  
*/


import java.text.SimpleDateFormat;
import java.util.Date;

public class FormattingMonth {

  public static void main(String[] args) {

    //create Date object
    Date date = new Date();

     //formatting month in M format like 1,2 etc
     String strDateFormat = "M";
     SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat);

     System.out.println("Current Month in M format : " + sdf.format(date));

     //formatting Month in MM format like 01, 02 etc.
     strDateFormat = "MM";
     sdf = new SimpleDateFormat(strDateFormat);
     System.out.println("Current Month in MM format : " + sdf.format(date));

     //formatting Month in MMM format like Jan, Feb etc.
     strDateFormat = "MMM";
     sdf = new SimpleDateFormat(strDateFormat);
     System.out.println("Current Month in MMM format : " + sdf.format(date));

     //formatting Month in MMMM format like January, February etc.
     strDateFormat = "MMMM";
     sdf = new SimpleDateFormat(strDateFormat);
     System.out.println("Current Month in MMMM format : " + sdf.format(date));

  }
}

/*
Typical output would be
Current Month in M format : 2
Current Month in MM format : 02
Current Month in MMM format : Feb
Current Month in MMMM format : February
*

使用上面提到的示例检查Java Date Formatting以了解格式。