将 UTC 转换为国家/地区本地时间

Converting UTC to country local time

我正在尝试将我数据库中的 UTC 时间转换为当地特定国家/地区的时间。我正在查看不同的库:luxon Day.js 等。如果我有 UTC 时间,我想获得德国的当地时间。我的记录中有用户所在的国家/地区。如果 UTC 时间是上午 10 点,那么德国当地时间应该是上午 11 点。 这是我为测试 luxon 库所做的尝试:

const { DateTime } = require("luxon");

const date = new Date(Date.UTC(2020, 12, 9, 10, 0, 0));
let ge_date = DateTime.fromJSDate(date, { locale: "ge" });
ge_date.setZone("Europe/Berlin");
console.log(ge_date);

但它似乎不起作用。

setZone() returns 新构造的 DateTime 但它不会更改您的原始变量。最好的解决方案是在 .fromJSDate() 函数之后链接 .setZone()

let ge_date = DateTime.fromJSDate(date, { locale: "ge" }).setZone("Europe/Berlin");
console.log(ge_date.toString());