Android中的日期和时间(以毫秒计)

Android中的日期和时间(以毫秒计),android,datetime,Android,Datetime,我正在尝试将给定的日期和时间转换为毫秒。我无法做到这一点 以下是日期和时间的格式 02-07(DD-MM) 上午08:50:00(hh mm ss a) 以下是我尝试过的: String myDate = "2-05"; String myTime = "08:50:00"; String ampm = "AM"; String toParse = myDate + " " + myTime+" " + ampm; try { SimpleDateFormat formatter3

我正在尝试将给定的日期和时间转换为毫秒。我无法做到这一点

以下是日期和时间的格式

02-07(DD-MM) 上午08:50:00(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)
不知道我哪里出错了?有人能帮我吗


谢谢

您得到的异常与您在代码中提供的日期之间存在差异。例外情况是,提供的字符串是
2-05 08:50 AM
,但您也应该提供秒字段。应该是
2-05 08:50:00 AM
是否有不匹配的地方?你在运行旧代码吗


正如其他人所指出的,如果您的月份总是两位数,您需要使用
MM
而不是
M

(“d-MM hh:MM:ss a”),您忘记了一个MI尝试过。不工作您遇到了什么错误?此外,我认为您应该使用
dd
而不是
d
您的代码工作正常(结果毫秒=10466400000),可能还有其他错误。这是如何工作的,结果被解析为日期,然后从中提取毫秒,但这些毫秒是自某个momnet以来的毫秒。我认为年份部分缺失了,如果没有它,您如何评估日期(日期由年、月和月日构成)。