src/constraint/time.js
function(d, val) {
    val = val > 86399 ? 0 : val;

    var next = later.date.next(
      later.Y.val(d),
      later.M.val(d),
      later.D.val(d) + (val <= later.t.val(d) ? 1 : 0),
      0,
      0,
      val);

    // correct for passing over a daylight savings boundry
    if(!later.date.isUTC && next.getTime() < d.getTime()) {
      next = later.date.next(
        later.Y.val(next),
        later.M.val(next),
        later.D.val(next),
        later.h.val(next),
        later.m.val(next),
        val + 7200);
    }

    return next;
  }
function(d, val) {
    val = val > 86399 ? 0 : val;

    var next = later.date.next(
      later.Y.val(d),
      later.M.val(d),
      later.D.val(d) + (val <= later.t.val(d) ? 1 : 0),
      0,
      0,
      val);

    // correct for passing over a daylight savings boundry
    if(!later.date.isUTC && next.getTime() < d.getTime()) {
      next = later.date.next(
        later.Y.val(next),
        later.M.val(next),
        later.D.val(next),
        later.h.val(next),
        later.m.val(next),
        val + 7200);
    }

    return next;
  }
function ( d , val ) { val = val > 86399 ? 0 : val ; var next = later . date . next ( later . Y . val ( d ) , later . M . val ( d ) , later . D . val ( d ) + ( val <= later . t . val ( d ) ? 1 : 0 ) , 0 , 0 , val ) ; // correct for passing over a daylight savings boundry if ( ! later . date . isUTC && next . getTime ( ) < d . getTime ( ) ) { next = later . date . next ( later . Y . val ( next ) , later . M . val ( next ) , later . D . val ( next ) , later . h . val ( next ) , later . m . val ( next ) , val + 7200 ) ; } return next ; }
Returns the start of the next instance of the time value indicated.

@param {Date} d: The starting date
@param {int} val: The desired value, must be within extent
Returns the start of the next instance of the time value indicated .