webForumDet fria alternativet

tid att konvertera..

Java

5 svar · 284 visningar · startad av Sky

Medlem sedan maj 2003103 inlägg
Frågan#1
Medlem sedan juni 2003372 inlägg
#2

Ä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
Medlem sedan maj 2003103 inlägg
#3

Ä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å.

Medlem sedan juni 2003372 inlägg
#4

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);
Medlem sedan maj 2003103 inlägg
#5

Tack så mycket. Det där ser ut som det skall funka =) Skall prova.

/Robert

Medlem sedan sep. 2001961 inlägg
#6

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);
		}
258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)