Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Adobe Summit 2023 [19th to 23rd March, Las Vegas and Virtual] | Complete AEM Session & Lab list

Adobe LiveCycle Designer ES4 Need help with JavaScript Ref. Subtracting Time.

Avatar

Level 1

We have used the form Brake log sheet I created in Adobe Acrobat XI Pro with the current JavaScript to subtract time and it works fine.  I am still trying to learn JavaScript language so please be patient with me. I would like to create the form in designer but need to get the script working.  I imported the Acrobat form into Designer for the time being and as i have read you will have to correct some of the JavaScript but when i run it I receive no errors and it does not work so i do not know were to start working.  I would like someone to take a look at it and please help me on it.

I don't see a way to attach my PDF so ill insert the code i have.

Under Variables

function Num2sTime

function sTime2Num

function SupressZero

function Time2Num


Num2sTime




function Num2sTime(fValue) {


// convert minutes to HH:MM string


fDiff = Math.round(Number(fValue) / 60);


// get hours from fDiff


fHours = Math.floor(fDiff / 60);


// get minutes less than hour from fDiff


fMins = Math.round(((fDiff / 60) - fHours ) * 60);


// format fMins with leading zero


sMins = util.printf("%,302.0f", fMins);


// build display string


return fHours + ':' + sMins;


}






SupressZero




function SupressZero(sValue) {


if(Number(sValue) ==0) sValue = '';


return sValue;


}






Time2Num




function Time2Num(sFormat, sTime) {


/*


convert time string (sTime) with format of sFormat


to the seconds since the start of the day


*/


if(sTime == '') return ''; // exit


// get date time for Epoch date and sTime


var oTime = util.scand('mm/dd/yyyy ' + sFormat, '01/01/1970 ' + sTime);


// convert UTC Offset to milliseonds for adjustment


var fTZOffset = oTime.getTimezoneOffset() * 1000 * 60


// time since the start of the day in millseconds


var fTime = oTime.valueOf() - fTZOffset;


// convert to seconds and return value


return Math.round(fTime / 1000);


}




sTime2Num




function sTime2Num(sValue) {


if(sValue == '') return 0;


var aValue = sValue.split(':');


return (aValue[0] * 3600) + (aValue[1] * 60);


}


and in my calculate script were i place in the text Field Total_TimeRow1


event.value = '';


var sStart = this.getField('Time OutRow1').value;


var sEnd = this.getField('Time InRow1').value;


if(sStart != '' & sEnd != '') {


var fStart = Time2Num('HH:MM', sStart);


var fEnd = Time2Num('HH:MM', sEnd);


var fEnd = Time2Num('HH:MM', sEnd);


var fDiff = fEnd - fStart;


fDiff = Math.round(fDiff / 60);


fHours = Math.floor(fDiff / 60);


fMins = ((fDiff / 60) - fHours ) * 60;


sMins = util.printf("%,302.0f", fMins);


event.value = fHours + ':' + sMins;


}


I'll insert the pdf is someone can tell me how.

Thank you all for your help in this matter.

0 Replies

The ultimate experience is back.

Join us in Vegas to build skills, learn from the world's top brands, and be inspired.

Register Now