如何显示特定日期在不同时区的数据库中的项目?

时间:2019-07-13 22:37:49

标签: javascript node.js mongodb

远程服务器上的日期为GMT0。本地计算机上的日期为GMT +3。在格林尼治标准时间+3的00:30,某项将插入数据库。如何在每个时区中正确选择此项,所以在格林尼治标准时间0,它将在x.month上,格林尼治标准时间+3,它将在x + 1.month?

我已经尝试过了:

    let n = new Date();
    const todayStart = new Date(n.setHours(0, 0, 0, 0));
    const todayEnd = new Date(n.setHours(23, 59, 59, 999));

    // mongo query
    date = {
      $gte: desiredDateStart,
      $lte: desiredDateEnd
    };

如果服务器时区与本地时区匹配,则此方法将起作用。 但是如果有间隔,例如3个小时,则仅在昨天请求时才选择该项目。

1 个答案:

答案 0 :(得分:0)

使用UTC将日期保存到数据库中,并在检索时将其转换为特定的时区。