- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-21-2023 10:42 PM
Hi,
when I select the start date from the catalog variable I want to convert it into a custom format in a new variable.
For example, if the start date is 22/01/2023 11:36:52, I want to convert it to 22/JAN/2023 11:36.
But when I use the below code it's not working. or any simple way to do it
Client Script:
var st = g_form.getValue('start_date_time');
var ajax = new GlideAjax('Test');
ajax.addParam('sysparm_name','getstartdate');
ajax.addParam('sysparm_startDate', st);
ajax.getXML(getResponse);
function getResponse(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
var month_name = ["JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"];
var month_number = parseInt(answer.substring(3, 5));
var curr_month = month_name[month_number - 1];
var str1 = answer.substring(0, 3);
var str2 = answer.substring(5, 16);
var dt = str1 + curr_month.toString() + str2;
g_form.setValue('planned_start_time', dt);
}
Script Include:
getstartdate : function() {
var gdt = new GlideDateTime(this.getParameter('sysparm_startDate'));
var gtime1 = new GlideTime();
gtime1.setValue("00:00:00");
gdt.subtract(gtime1);
var gtime2 = gdt.getTime();
var tdg = gdt.getDate();
tdg = tdg.getByFormat('dd/MM/yyyy');
var di = gtime2.getByFormat('hh:mm:ss');
return tdg + " " + di;
},
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-22-2023 11:11 AM - edited 01-22-2023 11:34 AM
This is what I would do:
- Script Include:
var GlideDateTimeAjax = Class.create();
GlideDateTimeAjax.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
'customFormatDateTime': function GlideDateTimeAjax$customFormatDateTime () {
var gdt = new GlideDateTime(),
unixEpochMilliseconds = +this.getValue();
gdt.setNumericValue(unixEpochMilliseconds);
var localDate = gdt.getLocalDate().getByFormat('yyyy/MMM/dd'),
localTime = gdt.getLocalTime().getByFormat('HH:mm');
return localDate + ' ' + localTime;
},
'type': 'GlideDateTimeAjax',
});
- Client Script:
var unixEpochMilliseconds = getDateFromFormat(g_form.getValue('start_date_time'), g_user_date_time_format);
var gx = new GlideAjax('GlideDateTimeAjax');
gx.addParam('sysparm_name', 'customFormatDateTime');
gx.addParam('sysparm_value', unixEpochMilliseconds);
gx.getXMLAnswer(function (answer) {
g_form.setValue('planned_start_time', answer);
});
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-21-2023 11:05 PM - edited 01-21-2023 11:06 PM
Hi,
Run the below script in background you can see whatever you need it will print that.
var gdt = new GlideDateTime();
var gtime2 = gdt.getTime();
var tdg = gdt.getDate();
tdg = tdg.getByFormat('dd/MMM/yyyy');
var di = gtime2.getByFormat('hh:mm');
gs.info( tdg + " " + di);
Thanks and Regards,
Saurabh Gupta
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-21-2023 11:26 PM
Hi, Saurabh I have changed my script include and client script as below. but still, the planned start date is null when I select the start date.
client script :
var st = g_form.getValue('start_date_time');
var ajax = new GlideAjax('Test');
ajax.addParam('sysparm_name','getstartdate');
ajax.addParam('sysparm_startDate', st);
ajax.getXML(getResponse);
function getResponse(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
g_form.setValue('planned_start_time', answer);
}
Script include:
var gdt = new GlideDateTime(); var gtime2 = gdt.getTime(); var tdg = gdt.getDate(); tdg = tdg.getByFormat('dd/MMM/yyyy'); var di = gtime2.getByFormat('hh:mm'); gs.info( tdg + " " + di);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-21-2023 11:28 PM
Hello,
I asked you to run in background not changing the script include. Please check if it is working in background.
Thanks and Regards,
Saurabh Gupta
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-21-2023 11:30 PM
Hi,
Are you sure your field name is "planned_start_time". is it a catalog client script?
Thanks and Regards,
Saurabh Gupta