2011-08-16 39 views
9

tôi đã viết một hàm cho thêm thời gian như đưa ra dưới đâyCần lấy Thời gian trong một định dạng 24 giờ trong khi thêm Time

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; 
    } 

Tôi nhận được oupt về điều này như 1:10 12 giờ fromat ...

tôi cần để có được nó trong định dạng 13:10 tức là định dạng 24 giờ ..... Xin hãy giúp tôi

Trả lời

36

bạn sử dụng hh trong mẫu SimpleDateFormat của bạn. Đó là định dạng 12 giờ. Sử dụng kk để thay thế, cung cấp cho bạn giờ trong ngày theo định dạng 24 giờ. Xem SimpleDateFormat.

+0

Cảm ơn bạn đã phản hồi ... Ite giúp tôi tìm một giải pháp –

+5

Nếu bạn sử dụng ** kk ** bạn sẽ nhận được kết quả như ** 24: 30 ** nhưng nếu bạn sử dụng ** HH ** bạn có thể nhận được nó như ** 00: 30 **. –

37

chỉ đơn giản là tạo ra các thể hiện của Calendar và nhận được thời gian 24 giờ qua,

Calendar c = Calendar.getInstance(); 

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

Câu trả lời của bạn đã giúp tôi, cảm ơn! –

+0

Bạn là vị cứu tinh ... ngay cả sau khi HH: mm không hiển thị kết quả! THANX – user3833732

Các vấn đề liên quan