code: function(date, d1, d2, margin) {
      var t  = date.getTime();
      var t1 = createDate(d1).getTime();
      var t2 = createDate(d2).getTime();
      var lo = min(t1, t2);
      var hi = max(t1, t2);
      margin = margin || 0;
      return (lo - margin <= t) && (hi + margin >= t);
    }
docs: *
  @method isBetween(d1, d2, [margin] = 0)
  @returns Boolean
  @short Returns true if the date is later or equal to `d1` and before or
  equal to `d2`.
  @extra [margin] is to allow extra margin of error in ms. `d1` and `d2` will
  accept a date object, timestamp, or text format. If not specified,
  they are assumed to be now.  See `create` for formats.
  
  @example
  
  new Date().isBetween('yesterday', 'tomorrow')    -> true
  new Date().isBetween('last year', '2 years ago') -> false
  
  @param {string|number|Date} d1
  @param {string|number|Date} d2
  @param {number} [margin]
  
  *