diff options
Diffstat (limited to 'src/utils-common.ts')
| -rw-r--r-- | src/utils-common.ts | 26 |
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])); +} |
