aboutsummaryrefslogtreecommitdiff
path: root/Functions/dateFuncs.js
blob: 9b1237aa193f3eb2436ba65f679182ee30c4314e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// s: DD-MM-YYYY, return: Date
function stringToDate(s) {
    const date = s.split("-");
    return new Date(`${date[2].padStart(4, "0")}-${date[1].padStart(2, "0")}-${date[0].padStart(2, "0")}`);
}

const isBetweenDates = (date, date1, date2) => {
    date = approxDate(date);
    date1 = approxDate(date1);
    date2 = approxDate(date2);
    return ((date.getTime() >= date1.getTime())
    && (date.getTime() <= date2.getTime()));
};

function approxDate(d)
{
    return new Date(`${d.getFullYear()}-${(d.getMonth() + 1).toString().padStart(2, "0")}-${d.getDate().toString().padStart(2, "0")}`);
}

function weekdayToNumber(s)
{
	const weekdays = [
		/ma.*/i,
		/ti.*/i,
		/ke.*/i,
		/to.*/i,
		/pe.*/i,
		/la.*/i,
		/su.*/i
	];
	for(let day = 0; day < weekdays.length; day++)
	{
		if (s.match(weekdays[day]))
			return day;
	}
}

module.exports = {
    fromString: stringToDate,
    between: isBetweenDates,
    weekdayToNumber: weekdayToNumber
}