Re: Int->String formatting method




"Deniz Dogan" <kristnjov@xxxxxxxxxx> wrote in message news:efanv0$l2m$1@xxxxxxxxxxxxxxxxxxxxxxx
Deniz Dogan wrote:
Hello again! Yes, I have yet another problem for all of you great programmers in here.

This should actually be a pretty easy task to complete, but somehow the blood in my veins doesn't seem to flow the right way just now. Here's the problem:
I have an amount of milliseconds, in the range [0,Integer.MAX_VALUE] and I want to format it to a String of the format "HH:nn:ss,mmm" where HH ranges between 00-99, nn between 00-59, ss between 00-59 and mmm between 000-999 (all of the ranges inclusive).
The only thing I can come up with now as a solution is a bunch of if-then-else statements, but really now, we shouldn't have to go and do that, do we?

I love stating problems. Looking forward to your help.

/Deniz Dogan

Disregard my post, a friend of mine solved it on four rows of code and O(1) fashion.

You should have post the solution, in case someone in the future stumbles upon this post via google and has a similar problem and is looking for the solution.

here's my guess at the solution:

public static String toTimeString(long milliseconds) {
final long MS_PER_SEC = 1000;
final long MS_PER_MIN = MS_PER_SEC * 60;
final long MS_PER_HOUR = MS_PER_MIN * 60;
final long hours = milliseconds / MS_PER_HOUR;
milliseconds %= MS_PER_HOUR;
final long minutes = milliseconds / MS_PER_MIN;
milliseconds %= MS_PER_MIN;
final long seconds = milliseconds / MS_PER_SEC;
milliseconds %= MS_PER_SEC;
StringBuffer sb = new StringBuffer();
sb.append(hours);
sb.append(":");
sb.append(minutes);
sb.append(":");
sb.append(seconds);
sb.append(",");
sb.append(milliseconds);
return sb.toString();
}

- Oliver

.



Relevant Pages

  • Re: Date question
    ... I just modified my method to expect your format instead, ... Converts a date expressed as a String into a java.sql.Date. ... hour, minute, second, and milliseconds. ... java.util.Date utilDate = null; ...
    (comp.lang.java.programmer)
  • Re: converting between time and string
    ... I have a file with lots of times in the format "01:22:33,456", where the numbers after the comma represent the milliseconds. ... I first thought to convert the string to a sort of date format, and then to do a minus operation, and then to convert the result back to a string of the original form. ...
    (perl.beginners)
  • converting between time and string
    ... I have a file with lots of times in the format "01:22:33,456", where the numbers after the comma represent the milliseconds. ... I first thought to convert the string to a sort of date format, and then to do a minus operation, and then to convert the result back to a string of the original form. ...
    (perl.beginners)
  • Re: Date format detection
    ... Specifies the locale for which the date string is to be formatted. ... date format for this locale. ... the system default-date format for the specified locale. ... be enclosed within single quotation marks in the date format picture. ...
    (borland.public.delphi.thirdpartytools.general)
  • Re: Date format detection
    ... > Specifies the locale for which the date string is to be formatted. ... > date format for this locale. ... > the system default-date format for the specified locale. ... > be enclosed within single quotation marks in the date format picture. ...
    (borland.public.delphi.thirdpartytools.general)