How to convert seconds (decimal value) into minutes:seconds:miliseconds (if seconds > 60)

Community Beginner ,
Aug 16, 2018

Copy link to clipboard

Copied

I have a variable that is in decimal seconds.

Example: 92.5

How do I convert it to 1:32:50?

Most Valuable Participant
Correct answer by try67 | Most Valuable Participant

Then you can use this code:

var v = 92.5;

var minutes = Math.floor(v/60);

v-=(minutes*60);

var seconds = Math.floor(v);

var remainder = (v-seconds)*100;

var result = minutes + ":" + seconds + ":" + remainder;

TOPICS
Acrobat SDK and JavaScript

Views

147

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more

How to convert seconds (decimal value) into minutes:seconds:miliseconds (if seconds > 60)

Community Beginner ,
Aug 16, 2018

Copy link to clipboard

Copied

I have a variable that is in decimal seconds.

Example: 92.5

How do I convert it to 1:32:50?

Most Valuable Participant
Correct answer by try67 | Most Valuable Participant

Then you can use this code:

var v = 92.5;

var minutes = Math.floor(v/60);

v-=(minutes*60);

var seconds = Math.floor(v);

var remainder = (v-seconds)*100;

var result = minutes + ":" + seconds + ":" + remainder;

TOPICS
Acrobat SDK and JavaScript

Views

148

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Aug 16, 2018 0
Most Valuable Participant ,
Aug 16, 2018

Copy link to clipboard

Copied

So 0.5 is 50 seconds? Not 30?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 16, 2018 1
Most Valuable Participant ,
Aug 16, 2018

Copy link to clipboard

Copied

Or is that in hundreds of a second?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 16, 2018 1
Most Valuable Participant ,
Aug 16, 2018

Copy link to clipboard

Copied

Also, can the value exceed one hour? If so, do you want to display that separately, or just as minutes?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 16, 2018 1
Community Beginner ,
Aug 16, 2018

Copy link to clipboard

Copied

Sorry, 92.5 is 1:32.50 (that is 1 minute 32 seconds and 50 milliseconds)

and the value will never exceed 1 hour.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 16, 2018 0
Most Valuable Participant ,
Aug 16, 2018

Copy link to clipboard

Copied

Then you can use this code:

var v = 92.5;

var minutes = Math.floor(v/60);

v-=(minutes*60);

var seconds = Math.floor(v);

var remainder = (v-seconds)*100;

var result = minutes + ":" + seconds + ":" + remainder;

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 16, 2018 0
Community Beginner ,
Aug 16, 2018

Copy link to clipboard

Copied

thank you so very much!!

One last question:

How do I limit milliseconds to just 2 digits?

Since my input is a variable, I, sometimes, get something like 1:32.50.00000000045

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 16, 2018 0
Most Valuable Participant ,
Aug 16, 2018

Copy link to clipboard

Copied

Change this:

var remainder = (v-seconds)*100;

To:

var remainder = Math.round((v-seconds)*100);

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 16, 2018 2
Community Beginner ,
Aug 16, 2018

Copy link to clipboard

Copied

THANKS!!!

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 16, 2018 0
Community Beginner ,
Aug 17, 2018

Copy link to clipboard

Copied

Hi try67,

How difficult is it to find a solution to the next little bug:

if "seconds" end up being between 1 and 9, Adobe omitting the zero,

and the result looks like: 1:2.55 instead of 1:02.55

Did I say I really appreciate your help?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 17, 2018 0
Most Valuable Participant ,
Aug 18, 2018

Copy link to clipboard

Copied

Use this:

var v = 92.5;

var minutes = Math.floor(v/60);

v-=(minutes*60);

var seconds = Math.floor(v);

var secondsStr = (seconds<10) : "0"+seconds ? ""+seconds;

var remainder = Math.round((v-seconds)*100);

var result = minutes + ":" + secondsStr + ":" + remainder;

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 18, 2018 1
Community Beginner ,
Aug 18, 2018

Copy link to clipboard

Copied

For some reason, it keeps giving me the syntax error.

I checked all of the punctuation and it doesn't make any sense.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 18, 2018 0
ak312 LATEST
Community Beginner ,
Aug 18, 2018

Copy link to clipboard

Copied

UPDATE: SOLVED

Did this:

var minutes = Math.floor(v/60);  

v-=(minutes*60);  

var seconds = Math.floor(v); 

var secondsStr = seconds;

if(seconds<10) {secondsStr="0"+seconds;}

else {secondsStr=""+seconds;}

 

var remainder = Math.round((v-seconds)*100); 

var result = minutes + ":" + secondsStr + "." + remainder;

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 18, 2018 0