Commit 934b98ad authored by Johannes Bill's avatar Johannes Bill

initial

parents
.idea/
\ No newline at end of file
var start = new Date();
var stop = new Date(start.getTime() + 30 * 24 * 3600 * 1000);
console.log(stop);
function cyclicInterval(from, until, interval) {
var resultArray = [];
for(var offset = 0; until.getTime() + offset < stop.getTime(); offset += interval) {
resultArray.push([new Date(from.getTime() + offset), new Date(until.getTime() + offset)]);
}
return resultArray;
}
function orOperator(intervals) {
var result = [];
for(var i = 0; i < intervals.length; i++) {
result = result.concat(intervals[i]);
}
result.sort(function(a, b) {
return a[0] - b[0];
});
return result;
}
function removeOverlaps(interval) {
var i = 0;
while(i < interval.length - 1) {
var endFirst = interval[i][1];
var startSecond = interval[i + 1][0];
var endSecond = interval[i + 1][1];
if(endFirst > startSecond) {
interval.splice(i + 1, 1);
interval[i][1] = endSecond;
}
else i++;
}
return interval;
}
function andOperator(interval1, interval2) {
var i = 0;
var j = 0;
while(i < interval1.length && j < interval2.length) {
}
}
var a = cyclicInterval(new Date(2014, 5, 23, 9), new Date(2014, 5, 23, 14), 7 * 24 * 3600 * 1000);
var b = cyclicInterval(new Date(2014, 5, 23, 13), new Date(2014, 5, 23, 18), 7 * 24 * 3600 * 1000);
var x = orOperator([a, b]);
x = removeOverlaps(x);
console.log(x);
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment