Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const OFFSET_SEC = 0;
- const OFFSET_MIN = 0;
- const OFFSET_HR = 0;
- const POS_YR = 1, POS_MNT = 2, POS_DAY = 3, POS_HR = 4, POS_MIN = 5, POS_SEC = 6;
- var hrs = 0, min = 0, sec = 0;
- var DTO = "";
- var aDateTime = [];
- //regular expression to extract date from datetimeoriginal (which is a date and a time)
- var reDateTimeSplit = /(\d{4}):(\d{2}):(\d{2})\s(\d{2}):(\d{2}):(\d{2})/;
- //extract datetimeoriginal from file
- DTO = app.getItem(index).exifToolValue("DateTimeOriginal");
- if (DTO.length != 0) {
- aDateTime = reDateTimeSplit.exec(DTO);
- // add the datetimeoriginal values with the offsets
- hrs = Number(aDateTime[POS_HR]) + OFFSET_HR;
- min = Number(aDateTime[POS_MIN]) + OFFSET_MIN;
- sec = Number(aDateTime[POS_SEC]) + OFFSET_SEC;
- // convert seconds to minutes and minutes to hours if the offset goes beyond 60 sec or 60 min
- min+= (sec - (sec % 60)) / 60;
- hrs+= (min - (min % 60)) / 60;
- min%= 60;
- sec%= 60;
- //return the final value
- return aDateTime[POS_YR] + aDateTime[POS_MNT] + aDateTime[POS_DAY] + "_" + zpad(hrs.toString(), 2) + zpad(min.toString(), 2) + zpad(sec.toString(), 2);
- }
- else{
- return null
- }
- // Function that add leading zeros to any string
- function zpad(str, nb_digits) {
- if (str.length < nb_digits) { return (Array(nb_digits - str.length + 1).join('0') + str); }
- else { return str; }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement