2011-08-19 72 views
2

我写一个函数为24小时格式,将时间下无法15分钟添加至00:00

for (int i = 0; i < cursor.getCount(); i++) { 

     String RevisedTime="00:00";  



     // get hour and minute from time string 
     StringTokenizer st1 = new StringTokenizer(RevisedTime, ":"); 
     int j = 0; 
     int[] val = new int[st1.countTokens()]; 
     // iterate through tokens 
     while (st1.hasMoreTokens()) { 
      val[j] = Integer.parseInt(st1.nextToken()); 
      j++; 
     } 

     // call time add method with current hour, minute and minutesToAdd, 
     // return added time as a string 
     String date = addTime(val[0], val[1], 15); 



    } 

public String addTime(int hour, int minute, int minutesToAdd) { 
     Calendar calendar = new GregorianCalendar(1990, 1, 1, hour, minute); 
     calendar.add(Calendar.MINUTE, minutesToAdd); 
     SimpleDateFormat sdf = new SimpleDateFormat("kk:mm"); 
     String date = sdf.format(calendar.getTime()); 
     return date; 
    } 

问题给出是同时加入15分钟到00:00我得到输出12.15 ....

我需要得到它的0点15 ......普莱斯帮我.....

+0

○点15分是不是在我的文化的时候。也许另一个? – kenny

+0

当然是在我的... – Vache

回答

5

你必须使用0-23小时格式,不是1-24。

代替SimpleDateFormat sdf = new SimpleDateFormat("kk:mm"); 使用SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");

1

你只需要改变一下,它会正常工作。

更换

SimpleDateFormat sdf = new SimpleDateFormat("kk:mm"); 

通过

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); 
+0

感谢您的回答 –

+0

不客气。 :) –