• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1463
  • Last Modified:

Convert miliseconds to minutes, and seconds

I found this code to convert miliseconds to minutes, and seconds and I don't see how the calculations can work.

it seems to me the calculation would be

double time = miliseconds/1000000/60
int minutes = Integer.parseInt(time)

If I was using C rather than Java I would then do:

int seconds = (time-minutes)*100

To aquire the seconds

I don't know how to get an integer value for the seconds.  I am attaching the code I found and if anyone has an explaination as to how it would work or how I can get an integer of the remainder of my minute calculation I would appreciate it.  I don't see how the included code can work.
Cheers sarge


      public static void convertMillis(int Millis){
      String convert = String.format("You have %d hour(s), %d minute(s), and %d second(s)",
      Millis/(1000*60*60), (Millis%(1000*60*60))/(1000*60), ((Millis%(1000*60*60))%                 (1000*60))/1000);
      System.out.println(convert);
      }
0
sargent240
Asked:
sargent240
  • 4
  • 2
1 Solution
 
wdosanjosCommented:
Check if this works for you:

    public static void convertMillis(int Millis)
    {
        int hours = Millis / (1000 * 60 * 60);

        Millis -= hours * 1000 * 60 * 60;

        int minutes = Millis / (1000 * 60);

        Millis -= minutes * 1000 * 60;

        int seconds = Millis / 1000;

        String convert = String.format("You have %d hour(s), %d minute(s), and %d second(s)",
            hours,
            minutes,
            seconds);

        System.out.println(convert);
    }

Open in new window

0
 
sargent240Author Commented:
This is the code I put in:

                 int Millis = Integer.parseInt(rec.getString("length").trim());

        int hours = Millis / (1000 * 60 * 60);
        Millis -= hours * 1000 * 60 * 60;
        minutes = Millis / (1000 * 60);
        Millis -= minutes * 1000 * 60;
        seconds = Millis / 1000;

The milliseconds value is coming from a database and it is the length of an audio file.  For example the value is 136333000 and if I calulate it in my old way I get 2.27.  If my thinking is correct that is ABOUT 2 minutes and 27 seconds.  When I used the above code It came to 52 minutes and 13 seconds.  I must have something screwed up.  What do ya think.
Cheers
0
 
sargent240Author Commented:
I think I discovered something.  The values I am using must not be milliseconds.  I is the valued that is returned from getting the durations of an audio file using the java audio functions.  I thought I read it was milliseconds but I must be wrong.  I used your code but substituted 1000000 for 1000 and it works.  Does that make sense.
Cheers!
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
wdosanjosCommented:
Yes, it seems you have microseconds.
0
 
sargent240Author Commented:
Thank you very much for your help!

Cheers
0
 
sargent240Author Commented:
Good fast and congenial comunication
0

Featured Post

Become an Android App Developer

Ready to kick start your career in 2018? Learn how to build an Android app in January’s Course of the Month and open the door to new opportunities.

  • 4
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now