SkyMedlem sedan maj 200388 inlägg
tid att konvertera..
5 svar · 284 visningar · startad av Sky
Är dagens datum inblandat eller det är alltid bara själva tiden på ett dygn som ska jämföras?
Du kan ju alltid parsa den manuellt, och göra om till minuter (eller vad du vill) och utfrån det göra en jämförelse mellan två int's.
lite pseudo
if(time2-time1 > 120)
do stuff
else
do some other stuff
Även jag vet hur jag ska göra när jag väl har fått dem till int. Men hur får jag dem till en int! Det som min fråga går ut på.
Så här kan du göra
String s = "10:22";
int timeInMinutes = Integer.parseInt(s.substring(0,2)) * 60 + Integer.parseInt(s.substring(3,5));
System.out.println(timeInMinutes);
edit:
Ovanstående förutsätter att du har en sträng som alltid är 5 lång.. är det så att tiden kan vara tex "2:22" också eller det kommer alltid en nolla framför (02:22)?
Hur som helst så är här ett mer generellt sätt som fungerar med båda:
String s = "2:22";
String[] tmp = s.split(":");
int timeInMinutes = Integer.parseInt(tmp[0]) * 60 + Integer.parseInt(tmp[1]);
System.out.println(timeInMinutes);
Vill inte vara sådan men... Varför uppfinna hjulet igen...
Använd SimpleDateFormat istället
String DATE_FORMAT ="HH:mm";
String date = "10:33";
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
try
{
sdf.parse(date);
Calendar c = sdf.getCalendar();
System.out.println("Hour:" + c.get(Calendar.HOUR));
System.out.println("Minute:" + c.get(Calendar.MINUTE));
System.out.println("Millis:" + c.getTimeInMillis());
}
catch (Exception e)
{
// TODO: handle exception
System.out.println("ParseExeption");
e.printStackTrace();
System.exit(-1);
}