refactor: timezone conversion in lib/utils/date.js (#7438)

This commit is contained in:
Queensferry
2021-05-09 05:45:37 +08:00
committed by GitHub
parent ca12701215
commit 10f5bb7bce
6 changed files with 27 additions and 9 deletions

14
lib/utils/timezone.js Normal file
View File

@@ -0,0 +1,14 @@
const assert = require("assert").strict;
const millisInAnHour = 60 * 60 * 1000;
const serverTimezone = -new Date().getTimezoneOffset() / 60;
module.exports = (date, timezone = serverTimezone) => {
if (typeof (date) === "string" || date instanceof String) {
date = new Date(date);
}
assert(date instanceof Date);
return new Date(date.getTime() - millisInAnHour * (timezone - serverTimezone));
};