Skip to content

Instantly share code, notes, and snippets.

@shanefulmer
Created September 10, 2013 19:07
Show Gist options
  • Save shanefulmer/6514087 to your computer and use it in GitHub Desktop.
Save shanefulmer/6514087 to your computer and use it in GitHub Desktop.
Next delivery date
require('sugar');
var _und = require('underscore');
function getDeliveryDate() {
// really only need holidays that are on Friday
var holidays = ['11/29/2013','12/25/2013', '11/28/2014'];
var startDate = '10/4/2013';
var deliveryDates = _und.range(100).map(function (i) {
var deliveryDate = Date.create(startDate).advance({weeks: 2 * i});
var isHoliday = _und.any(holidays, function (holiday) { return deliveryDate.is(holiday); });
if (isHoliday) return deliveryDate.rewind({days: 2});
return deliveryDate;
});
var currentDate = Date.create();
var nextDeliveryDate = _und.find(deliveryDates, function (deliveryDate) {
return deliveryDate.isAfter(currentDate);
});
return nextDeliveryDate;
}
console.log(getDeliveryDate());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment