2011-06-15 90 views
0

顯示的時間超出了我的預期。我正在解析一個日期字符串並將其變爲毫秒。返回錯誤時間的日曆

year = Integer.parseInt(m1.group(1)); 
mo = Integer.parseInt(m1.group(2)); 
day = Integer.parseInt(m1.group(3)); 
hr = Integer.parseInt(m1.group(4)); 
min = Integer.parseInt(m1.group(5)); 
sec = Integer.parseInt(m1.group(6)); 

,在這裏我設置了日曆

Calendar cal = Calendar.getInstance(); 
cal.set(year, mo, day, hr, min, sec); 
time = cal.getTimeInMillis(); 
+0

什麼叫「前進的道路是什麼意思它應該是」? – mre 2011-06-15 01:58:48

回答

3

如果你看看日曆文件here,然後訪問here,你會看到,今年1月份是0。你會想你的代碼更改爲mo = Integer.parseInt(m1.group(2))-1;

+0

這是一個比答案更重要的假設。代碼工作的 – mre 2011-06-15 02:02:57

+0

謝謝。 – user798759 2011-06-15 02:06:46

+0

@ user798759,下次更具體......這次你很幸運。 – mre 2011-06-15 02:08:05

0

你或許應該使用DateFormatter來解析日期字符串(而不是滾動您自己)。

除此之外,請確保您有適當的時區,並瞭解該月的第一個月是二月(而非一月)。

+0

我打賭它是一個總是有趣的零索引月份。 – Affe 2011-06-15 02:00:49