build/ical.js
function() {
      var copy = [
        'year',
        'month',
        'day',
        'hour',
        'minute',
        'second',
        'isDate'
      ];

      var result = Object.create(null);

      var i = 0;
      var len = copy.length;
      var prop;

      for (; i < len; i++) {
        prop = copy[i];
        result[prop] = this[prop];
      }

      if (this.zone) {
        result.timezone = this.zone.tzid;
      }

      return result;
    }
function() {
      var copy = [
        'year',
        'month',
        'day',
        'hour',
        'minute',
        'second',
        'isDate'
      ];

      var result = Object.create(null);

      var i = 0;
      var len = copy.length;
      var prop;

      for (; i < len; i++) {
        prop = copy[i];
        result[prop] = this[prop];
      }

      if (this.zone) {
        result.timezone = this.zone.tzid;
      }

      return result;
    }
function ( ) { var copy = [ 'year' , 'month' , 'day' , 'hour' , 'minute' , 'second' , 'isDate' ] ; var result = Object . create ( null ) ; var i = 0 ; var len = copy . length ; var prop ; for ( ; i < len ; i ++ ) { prop = copy [ i ] ; result [ prop ] = this [ prop ] ; } if ( this . zone ) { result . timezone = this . zone . tzid ; } return result ; }
Converts time to into Object which can be serialized then re-created
using the constructor.

@example
// toJSON will automatically be called
var json = JSON.stringify(mytime);

var deserialized = JSON.parse(json);

var time = new ICAL.Time(deserialized);

@return {Object}
Converts time to into Object which can be serialized then re - created using the constructor .