If you want to get a difference between two dates in Maximo automation scripts, I tried below process:
For example:
In Work Order, you want to find a days between Target Start Date and Target Finish Date.
Target Start Date is "01/Apr/2015"
Target Finish Date is "25/Apr/2015"
Difference from Target Start Date and Target Finish Date is 25
Lets see how to write automation script:
Object: WORKORDER
Varibles declared as:
tsd = Target Start Date
tfd = Target Finish Date
dayselapsed = CUSTOM_DAYSELAPSED (Custom attribute to set days - integer)
Script as follows:
#************** AUTO SCRIPT START ***************
#Define a function to get date difference
#************** FUNCTION START ***************
def getDateDiff(timeDiff):
#Seconds in Millis
milliseconds = 1000
#Minutes in Millis
milliminutes = milliseconds * 60
#Hours in Millis
millihours = milliminutes * 60
#Days in Millis
millidays = millihours * 24
#Get days diff
daysDiff = timeDiff / millidays
#Get hours diff
hoursDiff = timeDiff/millihours
#Get minutes diff
minDiff = timeDiff / milliminutes
#Return days difference
if(daysDiff != 0):
return int(daysDiff)
#Return hours difference
if(hoursDiff != 0):
return int(hoursDiff)
#Return minutes difference
if(minDiff != 0):
return int(minDiff )
#************** FUNCTION END ***************
#Time difference between two dates
timeDiff = tsd.getTime() - tfd.getTime()
daysDiffernce = getDateDiff(timeDiff)
dayselapsed = daysDifference
#************** AUTO SCRIPT END ***************
For few developers, if above script confuses you, below script without comments, to return days difference:
#************** AUTO SCRIPT START ***************
#Define a function to get date difference
#************** FUNCTION START ***************
def getDateDiff(timeDiff):
milliseconds = 1000
milliminutes = milliseconds * 60
millihours = milliminutes * 60
millidays = millihours * 24
daysDiff = timeDiff / millidays
hoursDiff = timeDiff/millihours
minDiff = timeDiff / milliminutes
if(daysDiff != 0):
return int(daysDiff)
#************** FUNCTION END ***************
timeDiff = tsd.getTime() - tfd.getTime()
daysDiffernce = getDateDiff(timeDiff)
dayselapsed = daysDifference
#************** AUTO SCRIPT END ***************
For example:
In Work Order, you want to find a days between Target Start Date and Target Finish Date.
Target Start Date is "01/Apr/2015"
Target Finish Date is "25/Apr/2015"
Difference from Target Start Date and Target Finish Date is 25
Lets see how to write automation script:
Object: WORKORDER
Varibles declared as:
tsd = Target Start Date
tfd = Target Finish Date
dayselapsed = CUSTOM_DAYSELAPSED (Custom attribute to set days - integer)
Script as follows:
#************** AUTO SCRIPT START ***************
#Define a function to get date difference
#************** FUNCTION START ***************
def getDateDiff(timeDiff):
#Seconds in Millis
milliseconds = 1000
#Minutes in Millis
milliminutes = milliseconds * 60
#Hours in Millis
millihours = milliminutes * 60
#Days in Millis
millidays = millihours * 24
#Get days diff
daysDiff = timeDiff / millidays
#Get hours diff
hoursDiff = timeDiff/millihours
#Get minutes diff
minDiff = timeDiff / milliminutes
#Return days difference
if(daysDiff != 0):
return int(daysDiff)
#Return hours difference
if(hoursDiff != 0):
return int(hoursDiff)
#Return minutes difference
if(minDiff != 0):
return int(minDiff )
#************** FUNCTION END ***************
#Time difference between two dates
timeDiff = tsd.getTime() - tfd.getTime()
daysDiffernce = getDateDiff(timeDiff)
dayselapsed = daysDifference
#************** AUTO SCRIPT END ***************
For few developers, if above script confuses you, below script without comments, to return days difference:
#************** AUTO SCRIPT START ***************
#Define a function to get date difference
#************** FUNCTION START ***************
def getDateDiff(timeDiff):
milliseconds = 1000
milliminutes = milliseconds * 60
millihours = milliminutes * 60
millidays = millihours * 24
daysDiff = timeDiff / millidays
hoursDiff = timeDiff/millihours
minDiff = timeDiff / milliminutes
if(daysDiff != 0):
return int(daysDiff)
#************** FUNCTION END ***************
timeDiff = tsd.getTime() - tfd.getTime()
daysDiffernce = getDateDiff(timeDiff)
dayselapsed = daysDifference
#************** AUTO SCRIPT END ***************
No comments:
Post a Comment