Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > Comparing Time in Hours & Minutes

Reply
Thread Tools

Comparing Time in Hours & Minutes

 
 
guyzdancin
Guest
Posts: n/a
 
      02-22-2005
I'm parsing a csv file that contains data in 15 minute intervals for a
day. The data is electricity consumption. The day is divided up into
segments of high, medium and low billing rates. For example, 00:00:00
to 10:45:00 is low rate, 11:00:00 to 18:45:00 is medium rate and
19:00:00 to 23:45:00 is high rate. I need a compare method so that I
can determine if any given time is greater or less than another.

Below is a sample of the file. The fourth field is time.

170,3EA,1041,18:00:00,.2847
170,3EA,1041,18:15:00,.2649
170,3EA,1041,18:30:00,.2486
170,3EA,1041,18:45:00,.3585
170,3EA,1041,19:00:00,.4179
170,3EA,1041,19:15:00,.4846
170,3EA,1041,19:30:00,.3480
170,3EA,1041,19:45:00,.2239
170,3EA,1041,20:00:00,.2600
170,3EA,1041,20:15:00,.2024
170,3EA,1041,20:30:00,.2126
170,3EA,1041,20:45:00,.3027
170,3EA,1041,21:00:00,.2882
170,3EA,1041,21:15:00,.2559
170,3EA,1041,21:30:00,.1392
170,3EA,1041,21:45:00,.1373

Thanks in advance

 
Reply With Quote
 
 
 
 
klynn47@comcast.net
Guest
Posts: n/a
 
      02-22-2005
What about putting these into an array called lines.

String[] tokens = lines[counter].split(",");

tokens = tokens[3].split(":");

int hours = Integer.parseInt(tokens[0]);
int minutes = Integer.parseInt(tokens[1]);
int seconds = Integer.parseInt(tokens[2]);

Then you could figure out how many seconds there are between midnight
and that time.

 
Reply With Quote
 
 
 
 
Rhino
Guest
Posts: n/a
 
      02-22-2005

"guyzdancin" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) ups.com...
> I'm parsing a csv file that contains data in 15 minute intervals for a
> day. The data is electricity consumption. The day is divided up into
> segments of high, medium and low billing rates. For example, 00:00:00
> to 10:45:00 is low rate, 11:00:00 to 18:45:00 is medium rate and
> 19:00:00 to 23:45:00 is high rate. I need a compare method so that I
> can determine if any given time is greater or less than another.
>
> Below is a sample of the file. The fourth field is time.
>
> 170,3EA,1041,18:00:00,.2847
> 170,3EA,1041,18:15:00,.2649
> 170,3EA,1041,18:30:00,.2486
> 170,3EA,1041,18:45:00,.3585
> 170,3EA,1041,19:00:00,.4179
> 170,3EA,1041,19:15:00,.4846
> 170,3EA,1041,19:30:00,.3480
> 170,3EA,1041,19:45:00,.2239
> 170,3EA,1041,20:00:00,.2600
> 170,3EA,1041,20:15:00,.2024
> 170,3EA,1041,20:30:00,.2126
> 170,3EA,1041,20:45:00,.3027
> 170,3EA,1041,21:00:00,.2882
> 170,3EA,1041,21:15:00,.2559
> 170,3EA,1041,21:30:00,.1392
> 170,3EA,1041,21:45:00,.1373
>
> Thanks in advance
>


I'll assume that you can split the time from each line of the CSV file into
hours and minutes on your own; there are various ways to do that.

Now, for any pair of times you want to compare, convert each time into an
instance of Calendar; you only need to specify the HOUR_OF_DAY and MINUTE.
Then, convert the Calendar representing a given time into an instance of
java.util.Date. Then, use the before() and after() methods in the
java.util.Date class to compare any pair of Dates. This example illustrates
the basic technique for creating the Calendars and Dates and then comparing
the Dates:

/* Create calendar for first Time. */

Calendar cal1 = Calendar.getInstance();
cal1.set(Calendar.HOUR_OF_DAY, 10);

cal1.set(Calendar.MINUTE, 45);

Date time1 = cal1.getTime();



/* Create Calendar for second Time. */

Calendar cal2 = Calendar.getInstance();

cal2.set(Calendar.HOUR_OF_DAY, 10);

cal2.set(Calendar.MINUTE, 45);

Date time2 = cal2.getTime();



/* Compare the two times to see which was earlier. */

if (time2.before(time1)) {

System.out.println("Time2 is before Time1.");

} else {

System.out.println("Time1 is before or equal to Time2.");

}



Rhino


 
Reply With Quote
 
Kevin McMurtrie
Guest
Posts: n/a
 
      02-22-2005
In article <(E-Mail Removed). com>,
"guyzdancin" <(E-Mail Removed)> wrote:

> I'm parsing a csv file that contains data in 15 minute intervals for a
> day. The data is electricity consumption. The day is divided up into
> segments of high, medium and low billing rates. For example, 00:00:00
> to 10:45:00 is low rate, 11:00:00 to 18:45:00 is medium rate and
> 19:00:00 to 23:45:00 is high rate. I need a compare method so that I
> can determine if any given time is greater or less than another.
>
> Below is a sample of the file. The fourth field is time.
>
> 170,3EA,1041,18:00:00,.2847
> 170,3EA,1041,18:15:00,.2649
> 170,3EA,1041,18:30:00,.2486
> 170,3EA,1041,18:45:00,.3585
> 170,3EA,1041,19:00:00,.4179
> 170,3EA,1041,19:15:00,.4846
> 170,3EA,1041,19:30:00,.3480
> 170,3EA,1041,19:45:00,.2239
> 170,3EA,1041,20:00:00,.2600
> 170,3EA,1041,20:15:00,.2024
> 170,3EA,1041,20:30:00,.2126
> 170,3EA,1041,20:45:00,.3027
> 170,3EA,1041,21:00:00,.2882
> 170,3EA,1041,21:15:00,.2559
> 170,3EA,1041,21:30:00,.1392
> 170,3EA,1041,21:45:00,.1373
>
> Thanks in advance


A GregorianCalendar can decode millisecond timestamps into calendar
components so you can compare hours, minutes, and seconds of a day
easily.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Recorded 2 hours, deleted 2 hours, no space left? Tony Tee DVD Video 5 07-25-2007 10:20 AM
1700 series: S0 is up 2 hours, down 2 hours, up, down, arghgh! Ivan Cisco 11 10-14-2004 08:41 AM
Time Format in datagrid (Hours, Minutes, Seconds) Eric ASP .Net Datagrid Control 1 08-12-2004 07:30 PM
Comparing system time to specific hours Michael Chernecki Perl Misc 8 07-21-2004 09:51 PM
Hi im going to make a "time counter" from hours to hours and a loggfile export system Rahmi Acar C++ 0 07-17-2003 08:28 PM



Advertisments