2014-02-17 45 views
0

我有一個String timme = "13:10"。我想知道如何最好地獲得小時和分鐘並將它們轉換爲整數。即int小時= 13,int minute = 10。我知道一個for循環不是最有效的方式,有沒有更簡單的方法?如何從字符串變量中獲取小時和分鐘?

+1

從哪裏得到這個「時間」字符串從日期或時間選擇器或類似的東西? –

+0

http://stackoverflow.com/questions/16910344/how-to-convert-string-into-date-time-format-in-java檢查這個 –

+1

如果它只是字符串,那麼你可以使用string.split()方法 – Sonali8890

回答

11

嘗試這種方式,通過split()方法,

String timme = "13:10"; 
String[] time = timme.split (":"); 
int hour = Integer.parseInt (time[0].trim()); 
int min = Integer.parseInt (time[1].trim()); 
+0

謝謝,這個作品,r.appreciate它 – user2219097

+1

@ user2219097,你可以通過接受我的回答來欣賞:) – user3317558

+0

+1,我一直在想。但爲什麼你使用** trim()**? –

1

你可以試試這個...

String time = "13:10"; 
SimpleDateFormat formatter = = new SimpleDateFormat("hh:mm"); 
Date dTime = formatter.parse(time); 
int hour = dTime.getHours(); 
int minute = dTime.getMinutes(); 
+1

如果時間=「9:10」怎麼樣?或時間=「10:9」? – user3317558

+2

如果**時間=「6:10」**,該怎麼辦? –

8

更好地利用DateDateFormat

String time = "13:10"; 

DateFormat sdf = new SimpleDateFormat("HH:mm"); // or "hh:mm" for 12 hour format 
Date date = sdf.parse(time); 

date.getHours(); // int 
date.getMinutes(); // int 
0

你可以使用Calendar java的對象而不是Date對象,

SimpleDateFormat dateFormatter = new SimpleDateFormat("HH:mm", Locale.ENGLISH); 
     try { 
      Calendar c = Calendar.getInstance(); 
      c.setTime(dateFormatter.parse("07:30")); 
      String hour = String.valueOf(c.get(Calendar.HOUR_OF_DAY)); 
      String mintue = String.valueOf(c.get(Calendar.MINUTE)); 
      System.out.println("Hour: " + hour); 
      System.out.println("Minute: " + mintue); 
     } catch (ParseException e) { 
      e.printStackTrace(); 
     } 
相關問題