Example usage:
var grIncAlertTask = new GlideRecord('incident_alert_task');
if (grIncAlertTask.get('e84465641b026010f0dc85e4464bxxxx')) {
var util = new mimDateUtil(grIncAlertTask.incident_alert.source_incident);
util.setTimeFormat('hh:mm');
gs.print(util.formatDateField('sys_created_on'));
}
Script include:
var mimDateUtil = Class.create();
mimDateUtil.prototype = {
initialize: function(gr, sDateFormat, sTimeFormat) {
this.gr = gr;
if (!sDateFormat)
this.setDateFormat();
if (!sTimeFormat)
this.setTimeFormat();
},
setDateFormat: function(sDateFormat) {
this.sDateFormat = sDateFormat || 'dd-MM-yyyy';
},
setTimeFormat: function(sTimeFormat) {
this.sTimeFormat = sTimeFormat || 'hh:mm:ss';
},
formatDateField: function(sField) {
var sReturn = "";
if (!sField || sField == '')
return sReturn;
var oField = this.gr[sField];
var sFieldType = oField.getED().getInternalType();
if (sFieldType.indexOf('glide_date') == -1) {
// gs.log('Not a date field', this.type);
return sReturn;
}
/* From the DateTime field
* - Get GlideDate portion and format it
* - Get GlideTime portion and format it
*/
var gdtCreatedOn = new GlideDateTime(oField),
sDatePortion = gdtCreatedOn.getDate().getByFormat(this.sDateFormat),
sTimePortion = gdtCreatedOn.getTime().getByFormat(this.sTimeFormat);
// Build the output string
sReturn = sDatePortion + " " + sTimePortion;
return sReturn;
/* Ideally wanted to use this snippet
* var gdtCreatedOn = new GlideDateTime(fCreatedOn);
* gdtCreatedOn.setDisplayValue(fCreatedOn.getDisplayValue(),"dd-MM-yyyy hh:mm");
* gs.print("gdtCreatedOn: " + gdtCreatedOn.getDisplayValue());
*
* But no. It's a complete and utter failure. Instead of stripping out the seconds
* it's turned into 00. What in the actual f....
*/
},
type: 'mimDateUtil'
};
Comments
Post a Comment