Ä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
SSkyMedlem sedan maj 2003103 inlägg Ä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);
SSkyMedlem sedan maj 2003103 inlägg Tack så mycket. Det där ser ut som det skall funka =) Skall prova.
/Robert
LLimeMedlem sedan sep. 2001961 inlägg 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);
}