Name
sn_cd.cd_IcsDateLogic
Description
API used for the download ICS logic.
Script
var cd_IcsDateLogic = Class.create();
cd_IcsDateLogic.prototype = {
initialize: function() {
},
/**
* Return formatted local date String from @param glideDateTime
* @param glideDateTime GlideDateTime
* @return String Example: 2018-01-10 10:39:37 -> 'TZID=America/Los_Angeles:20180110T10:39:37'
**/
formatLocalDateTime : function(glideDateTime) {
var zoneName = gs.getSession().getTimeZoneName();
var dateTimeString = this._getDate(glideDateTime) + this.formatLocalTime(glideDateTime);
return 'TZID=' + zoneName + ':' + dateTimeString;
},
/**
* Return local date String from @param glideDateTime
* @param glideDateTime GlideDateTime
* @return String Example: 2018-01-10 18:26:19 -> '2018:01:10'
**/
_getDate : function(glideDateTime) {
return glideDateTime.getYearLocalTime() + this._prependZero(glideDateTime.getMonthLocalTime()) + this._prependZero(glideDateTime.getDayOfMonthLocalTime());
},
/**
* Return formatted local date String from @param glideDateTime
* @param glideDateTime GlideDateTime
* @return String Example: 2018-01-10 10:39:37 -> 'TZID=America/Los_Angeles:20180110'
**/
formatLocalDate : function(glideDateTime) {
var zoneName = gs.getSession().getTimeZoneName();
var dateTimeString = this._getDate(glideDateTime);
return 'TZID=' + zoneName + ':' + dateTimeString;
},
/**
* Return local time String from @param glideDateTime
* @param glideDateTime GlideDateTime
* @return String Example: 2018-01-10 18:26:19 -> 'T182619'
**/
formatLocalTime : function(glideDateTime) {
var localTime = glideDateTime.getLocalTime().toString().split(/\s/g);
if (!localTime || localTime.length < 2)
return '';
return 'T' + localTime[1].replace(/:/g, '');
},
/**
* Prepends 0 to single digit numbers
* @param num number
* @return numStr String
* Example: 1 -> '01'
**/
_prependZero : function(num) {
var numStr = '' + num;
if (numStr.length < 2)
numStr = '0' + numStr;
return numStr;
},
type: 'cd_IcsDateLogic'
};
Sys ID
50fe4c655f2303001fb20a54de7313da