aboutsummaryrefslogtreecommitdiff
path: root/src/utils-common.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils-common.ts')
-rw-r--r--src/utils-common.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/utils-common.ts b/src/utils-common.ts
index d644b10..055fee6 100644
--- a/src/utils-common.ts
+++ b/src/utils-common.ts
@@ -77,3 +77,29 @@ export function splitmix32(a: number) {
return ((t = t ^ (t >>> 15)) >>> 0) / 4294967296;
};
}
+
+const MOODLE_DATE_REGEX = /\w+, (\d+)\. (\w+) (\d+), (\d\d):(\d\d)/;
+const MONTHS: { [m: string]: number } = {
+ Januar: 1,
+ Februar: 2,
+ März: 3,
+ April: 4,
+ Mai: 5,
+ Juni: 6,
+ Juli: 7,
+ August: 8,
+ September: 9,
+ Oktober: 9,
+ November: 10,
+ Dezember: 11,
+};
+
+export function parseMoodleDate(s: string) {
+ const match = MOODLE_DATE_REGEX.exec(s);
+ if (!match) {
+ return new Date(-1);
+ }
+
+ const month = MONTHS[match[2]];
+ return new Date(Number(match[3]), month, Number(match[1]), Number(match[4]), Number(match[4]));
+}