2011-08-16 9 views
9

napisałem funkcję do czasu Dodanie jak podano poniżejPotrzebujesz uzyskać czas w formacie 24-godzinnym, dodając Czas

private void Delay15Minute() { 
     String pkManifest = manifest.pkManifestNo; 
     manifest_helper = new manifest_helper(this); 
     cursor = manifest_helper.GetDeliveries(pkManifest); 
     cursor.moveToFirst(); 
     for (int i = 0; i < cursor.getCount(); i++) { 
      cursor.getString(cursor.getColumnIndex("PKDelivery")); 
      // String 
      // RevisedTime=cursor.getString(cursor.getColumnIndex("RevisedEstimatedDeliveryTime")); 
      String RevisedTime = "12:55"; 

      // 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); 
      // Tioast the new time 
      Toast.makeText(this, "date is =" + date, Toast.LENGTH_SHORT).show(); 

     } 
      } 



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("hh:mm"); 
     String date = sdf.format(calendar.getTime()); 

     return date; 
    } 

otrzymuję oupt tego jak 1:10 12 godzin fromat ...

muszę dostać go w formacie 13:10 tj formacie 24-godzinnym ..... Proszę mi pomóc

Odpowiedz

36

Użyłeś hh w swojej strukturze SimpleDateFormat. Jest to format 12-godzinny. Zamiast tego należy użyć kk, która zapewnia godziny dnia w formacie 24-godzinnym. Zobacz SimpleDateFormat.

+0

Dziękuję za opinie ... Ite mi pomóc znaleźć rozwiązanie –

+5

Jeśli używasz ** kk ** dostaniesz wyniki takie jak ** 24: 30 **, ale jeśli używasz ** HH ** możesz uzyskać to jak ** 00: 30 **. –

37

prostu utworzyć instancję Calendar i uzyskać czas 24 h poprzez,

Calendar c = Calendar.getInstance(); 

int Hr24=c.get(Calendar.HOUR_OF_DAY); 
int Min=c.get(Calendar.MINUTE); 
+0

Twoja odpowiedź pomogła mi, dzięki! –

+0

TY jesteś zbawicielem ... nawet po HH: mm nie pokazał wyników! THANX – user3833732

Powiązane problemy