- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-31-2019 06:58 AM
I have a two fields on my table which are of date/time type; I have start date and end date, inorder to calculate the difference i have created a new field of type duration
Business rule is been for this it returns a value in "days:hours:minutes"seconds"
Instead i just want the field to calculate the value in minutes; can someone please help me with this
Business rule:
(function executeRule(current, previous /*null when async*/) {
if (current.u_incident_start_date.nil() || current.u_incident_end.nil()) {
current.setValue('u_incident_duration_calculation', '');
return;
}
var st = new GlideDateTime();
st.setValue(current.getValue("u_incident_start_date"));
var ed = new GlideDateTime();
ed.setValue(current.getValue("u_incident_end"));
var dur = GlideDateTime.subtract(st, ed);
current.setValue("u_incident_duration_calculation", dur.getValue());
})(current, previous);
Solved! Go to Solution.
- Labels:
-
Notifications
-
Workflow

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-31-2019 11:17 AM
That could be the issue. If you donot want decimals , try the updated code
(function executeRule(current, previous /*null when async*/) {
if (current.u_incident_start_date.nil() || current.u_incident_end.nil()) {
current.setValue('u_incident_duration_calculation', '');
return;
}
var st = new GlideDateTime(current.u_incident_start_date);
var ed = new GlideDateTime(current.u_incident_end);
var sec = gs.dateDiff(st, ed, true);
var minutes = sec/60;
current.u_incident_duration_calculation = parseInt(minutes,10); // Remove decimals
})(current, previous);

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-31-2019 07:02 AM
Hi
Please refer the below thread :-
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-31-2019 07:31 AM
I tried that already, it dint work with client and server script

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-31-2019 07:37 AM
Try this
(function executeRule(current, previous /*null when async*/) {
if (current.u_incident_start_date.nil() || current.u_incident_end.nil()) {
current.setValue('u_incident_duration_calculation', '');
return;
}
var st = new GlideDateTime(current.u_incident_start_date);
var ed = new GlideDateTime(current.u_incident_end);
var sec = gs.dateDiff(st, ed, true);
var minutes = sec/60;
})(current, previous);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎01-31-2019 09:54 AM
Hi Dvp
i tried this script but it dint work, is it because the field "u_incident_duration_calculation" is of integer type?
upon selection of dates it just displays blank nothing worked