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

Offical Documentation

Official Docs: