-1

我正在尝试将给定的日期和时间转换为毫秒。我无法实现它。

下面是日期和时间的格式

02 - 07 (DD - MM) 08:50:00 AM (hh mm ss a)

这是我尝试过的:

String myDate = "2-05";
String myTime = "08:50:00";
String ampm = "AM";
String toParse = myDate + " " + myTime+" " + ampm;


try
{
    SimpleDateFormat formatter3 = new SimpleDateFormat("d-M hh:mm:ss a"); // I assume d-M, you may refer to M-d for month-day instead.
    Date date;
    date = formatter3.parse(toParse);
    long millis = date.getTime();
    Log.e ("Date in milli",""+millis);
} 
catch (ParseException e) 
{
    // TODO Auto-generated catch block
    e.printStackTrace();
} // You will need try/cat

以下是我得到的错误:

08-04 16:50:34.368: W/System.err(6603): java.text.ParseException: Unparseable date: "2-05 08:50 AM"
08-04 16:50:34.368: W/System.err(6603):     at java.text.DateFormat.parse(DateFormat.java:626)

不知道我哪里出错了?有人可以帮帮我吗?

谢谢!

4

1 回答 1

0

您获得的异常与您在代码中提供的日期之间存在差异。异常表示提供的字符串是2-05 08:50 AM,但您也应该提供 seconds 字段。它应该是2-05 08:50:00 AM是某处不匹配?你在运行旧代码吗?

正如其他人已经确定的那样,如果您的月份总是两位数,则需要使用MM而不是M

于 2013-07-18T13:20:10.017 回答