From 9a2b33e34de0026fc6e66687048658aadd5f891f Mon Sep 17 00:00:00 2001 From: undefined Date: Mon, 2 Aug 2021 11:14:21 +0800 Subject: [PATCH] core: allow using ObjectID string for datetimeSpan --- packages/hydrooj/package.json | 2 +- packages/hydrooj/src/lib/misc.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 7923126d7..07e31c971 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.30.11", + "version": "2.30.12", "bin": "bin/hydrooj.js", "main": "src/loader", "module": "src/loader", diff --git a/packages/hydrooj/src/lib/misc.ts b/packages/hydrooj/src/lib/misc.ts index 75659ddf9..457a7b0d6 100644 --- a/packages/hydrooj/src/lib/misc.ts +++ b/packages/hydrooj/src/lib/misc.ts @@ -13,6 +13,7 @@ export function ansiToHtml(str: string) { export function datetimeSpan(dt: Date | ObjectID, relative = true, format = '%Y-%m-%d %H:%M:%S') { if (!dt) return 'DATETIME_SPAN_ERROR'; if (dt instanceof ObjectID) dt = new Date(dt.generationTime * 1000); + else if (typeof dt === 'string' && ObjectID.isValid(dt)) dt = new Date(new ObjectID(dt).generationTime * 1000); else if (typeof dt === 'number' || typeof dt === 'string') dt = new Date(dt); return '{2}'.format( relative ? ' relative' : '',