Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
opening-hours
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
regionalkauf
opening-hours
Commits
d8f6d8f3
Commit
d8f6d8f3
authored
Jun 30, 2014
by
Johannes Bill
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bla
parent
44550a18
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
29 additions
and
13 deletions
+29
-13
package.json
package.json
+3
-1
test1.js
test/test1.js
+14
-0
timeUtils.js
timeUtils.js
+12
-12
No files found.
package.json
View file @
d8f6d8f3
...
@@ -5,7 +5,9 @@
...
@@ -5,7 +5,9 @@
"dependencies"
:
{
"dependencies"
:
{
"
express
"
:
"^4.4.4"
"
express
"
:
"^4.4.4"
},
},
"devDependencies"
:
{},
"devDependencies"
:
{
"
chai
"
:
"^1.9.1"
},
"author"
:
""
,
"author"
:
""
,
"license"
:
"
ISC
"
,
"license"
:
"
ISC
"
,
"scripts"
:
{
"scripts"
:
{
...
...
test/test1.js
0 → 100644
View file @
d8f6d8f3
var
expect
=
require
(
"chai"
).
expect
;
describe
(
"bla"
,
function
()
{
describe
(
"muh"
,
function
()
{
it
(
"should maeh"
,
function
()
{
var
date1
=
new
Date
();
var
date2
=
new
Date
(
date1
.
getTime
());
console
.
log
(
date1
);
console
.
log
(
date2
);
console
.
log
(
date1
<
date2
);
expect
(
date1
.
getTime
()).
to
.
equal
(
date2
.
getTime
());
})
})
});
\ No newline at end of file
timeUtils.js
View file @
d8f6d8f3
...
@@ -54,7 +54,7 @@ function standardFromTillDay(daySpan, timeSpan, dateSpan, epochSpan, daysDistanc
...
@@ -54,7 +54,7 @@ function standardFromTillDay(daySpan, timeSpan, dateSpan, epochSpan, daysDistanc
var
end
=
new
Date
(
firstDays
[
i
][
1
]);
var
end
=
new
Date
(
firstDays
[
i
][
1
]);
start
.
setDate
(
start
.
getDate
()
+
offset
);
start
.
setDate
(
start
.
getDate
()
+
offset
);
end
.
setDate
(
end
.
getDate
()
+
offset
);
end
.
setDate
(
end
.
getDate
()
+
offset
);
if
(
end
<=
epochEnd
)
if
(
end
.
getTime
()
<=
epochEnd
.
getTime
()
)
result
.
push
([
start
,
end
]);
result
.
push
([
start
,
end
]);
}
}
}
}
...
@@ -74,7 +74,7 @@ function cyclic(day, noInMonth, timeFrom, timeUntil, epochStart, epochEnd) {
...
@@ -74,7 +74,7 @@ function cyclic(day, noInMonth, timeFrom, timeUntil, epochStart, epochEnd) {
var
endDate
=
new
Date
(
startDate
);
var
endDate
=
new
Date
(
startDate
);
endDate
.
setHours
(
timeUntil
.
h
);
endDate
.
setHours
(
timeUntil
.
h
);
endDate
.
setMinutes
(
timeUntil
.
m
);
endDate
.
setMinutes
(
timeUntil
.
m
);
if
(
endDate
>
epochEnd
)
if
(
endDate
.
getTime
()
>
epochEnd
.
getTime
()
)
break
;
break
;
else
{
else
{
result
.
push
([
startDate
,
endDate
]);
result
.
push
([
startDate
,
endDate
]);
...
@@ -98,8 +98,8 @@ function cyclicFromTillDay(daySpan, noInMonth, timeSpan, dateSpan, epochSpan) {
...
@@ -98,8 +98,8 @@ function cyclicFromTillDay(daySpan, noInMonth, timeSpan, dateSpan, epochSpan) {
var
endDate
=
dateSpan
[
1
];
var
endDate
=
dateSpan
[
1
];
//limit dateSpan to epochSpan, to reduce costs
//limit dateSpan to epochSpan, to reduce costs
if
(
endDate
>
epochSpan
[
1
]
)
endDate
=
epochSpan
[
1
];
if
(
endDate
.
getTime
()
>
epochSpan
[
1
].
getTime
()
)
endDate
=
epochSpan
[
1
];
if
(
startDate
<
epochSpan
[
0
]
)
{
if
(
startDate
.
getTime
()
<
epochSpan
[
0
].
getTime
()
)
{
var
t
=
epochSpan
[
0
];
var
t
=
epochSpan
[
0
];
//substract 1 month to cover special cases
//substract 1 month to cover special cases
startDate
=
new
Date
(
t
.
getFullYear
(),
t
.
getMonth
()
-
1
,
t
.
getDate
())
startDate
=
new
Date
(
t
.
getFullYear
(),
t
.
getMonth
()
-
1
,
t
.
getDate
())
...
@@ -115,7 +115,7 @@ function cyclicFromTillDay(daySpan, noInMonth, timeSpan, dateSpan, epochSpan) {
...
@@ -115,7 +115,7 @@ function cyclicFromTillDay(daySpan, noInMonth, timeSpan, dateSpan, epochSpan) {
var
date1
=
new
Date
(
date0
);
var
date1
=
new
Date
(
date0
);
date1
.
setHours
(
timeUntil
.
h
);
date1
.
setHours
(
timeUntil
.
h
);
date1
.
setMinutes
(
timeUntil
.
m
);
date1
.
setMinutes
(
timeUntil
.
m
);
if
(
date1
>
endDate
)
if
(
date1
.
getTime
()
>
endDate
.
getTime
()
)
break
;
break
;
else
{
else
{
result
.
push
([
date0
,
date1
]);
result
.
push
([
date0
,
date1
]);
...
@@ -126,7 +126,7 @@ function cyclicFromTillDay(daySpan, noInMonth, timeSpan, dateSpan, epochSpan) {
...
@@ -126,7 +126,7 @@ function cyclicFromTillDay(daySpan, noInMonth, timeSpan, dateSpan, epochSpan) {
date1
=
new
Date
(
date1
);
date1
=
new
Date
(
date1
);
date0
.
setDate
(
date0
.
getDate
()
+
1
);
date0
.
setDate
(
date0
.
getDate
()
+
1
);
date1
.
setDate
(
date1
.
getDate
()
+
1
);
date1
.
setDate
(
date1
.
getDate
()
+
1
);
if
(
date1
<=
endDate
)
if
(
date1
.
getTime
()
<=
endDate
.
getTime
()
)
result
.
push
([
date0
,
date1
]);
result
.
push
([
date0
,
date1
]);
else
break
;
else
break
;
}
}
...
@@ -239,7 +239,7 @@ function mergeOverlaps(interval) {
...
@@ -239,7 +239,7 @@ function mergeOverlaps(interval) {
var
endFirst
=
interval
[
i
][
1
];
var
endFirst
=
interval
[
i
][
1
];
var
startSecond
=
interval
[
i
+
1
][
0
];
var
startSecond
=
interval
[
i
+
1
][
0
];
var
endSecond
=
interval
[
i
+
1
][
1
];
var
endSecond
=
interval
[
i
+
1
][
1
];
if
(
endFirst
>=
startSecond
)
{
if
(
endFirst
.
getTime
()
>=
startSecond
.
getTime
()
)
{
interval
.
splice
(
i
+
1
,
1
);
interval
.
splice
(
i
+
1
,
1
);
interval
[
i
][
1
]
=
new
Date
(
Math
.
max
(
endFirst
,
endSecond
));
interval
[
i
][
1
]
=
new
Date
(
Math
.
max
(
endFirst
,
endSecond
));
}
}
...
@@ -260,16 +260,16 @@ function andOperator(interval1, interval2) {
...
@@ -260,16 +260,16 @@ function andOperator(interval1, interval2) {
var
end2
=
interval2
[
j
][
1
];
var
end2
=
interval2
[
j
][
1
];
//no overlap
//no overlap
if
(
end2
<=
start1
)
if
(
end2
.
getTime
()
<=
start1
.
getTime
()
)
j
++
;
j
++
;
else
if
(
end1
<=
start2
)
else
if
(
end1
.
getTime
()
<=
start2
.
getTime
()
)
i
++
;
i
++
;
//overlap
//overlap
else
{
else
{
var
newStart
;
var
newStart
;
var
newEnd
;
var
newEnd
;
if
(
end2
<=
end1
)
{
if
(
end2
.
getTime
()
<=
end1
.
getTime
()
)
{
j
++
;
j
++
;
newEnd
=
end2
;
newEnd
=
end2
;
}
}
...
@@ -289,11 +289,11 @@ function invert(interval, epochStart, epochEnd) {
...
@@ -289,11 +289,11 @@ function invert(interval, epochStart, epochEnd) {
var
start
=
epochStart
;
var
start
=
epochStart
;
for
(
var
i
=
0
;
i
<
interval
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
interval
.
length
;
i
++
)
{
var
end
=
interval
[
i
][
0
];
var
end
=
interval
[
i
][
0
];
if
(
start
<
end
)
if
(
start
.
getTime
()
<
end
.
getTime
()
)
result
.
push
([
start
,
end
]);
result
.
push
([
start
,
end
]);
start
=
interval
[
i
][
1
];
start
=
interval
[
i
][
1
];
}
}
if
(
start
<
epochEnd
)
if
(
start
.
getTime
()
<
epochEnd
.
getTime
()
)
result
.
push
([
start
,
epochEnd
]);
result
.
push
([
start
,
epochEnd
]);
return
result
;
return
result
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment