gpt4 book ai didi

node.js - 如何设计一条了解一天中时间的快速路线

转载 作者:太空宇宙 更新时间:2023-11-03 23:48:56 24 4
gpt4 key购买 nike

我正在尝试创建一条功能如下的路线:

移动应用程序将发出请求:GET/ballots/today,仅当时间在美国东部标准时间下午 6:00 至晚上 10:00 之间时,该请求才会返回“今天”的选票。

如果请求是在该时间段之前或之后发出的,则不应返回任何内容。

我正在考虑在 express route 使用 moment 库的 isBetween 方法来检查当前时间是否在该特定日期的下午 6:00 到晚上 10:00 之间。

但是,我无法理解的问题是如何确保服务器始终具有正确的时间(如果这应该成为一个问题)以及与时区无关。

如果重要的话,我计划在 Heroku 上部署。

最佳答案

在 Express 上运行时,Moment 将始终使用服务器时间。大多数云提供商将其服务器时间设置为 UTC。您必须使用 Moment Timezone 提供时区。这是如何实现它的示例。

//set the start and end times for today EST
const start = moment.tz("America/New_York").format("YYYY-MM-DD") + " 18:00";
const end = moment.tz("America/New_York").format("YYYY-MM-DD") + " 22:00";

//convert the times to moments so we can do a compare
const startMoment = moment.tz(start, "America/New_York");
const endMoment = moment.tz(end, "America/New_York");

const isBetween = moment.tz("America/New_York").isBetween(startMoment, endMoment);

if (isBetween) {
//return ballot
}

关于node.js - 如何设计一条了解一天中时间的快速路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60067610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com