【发布时间】:2020-05-26 04:25:58
【问题描述】:
我有一个应用程序为每个加入的成员使用订阅。我在日期和与之相关的计算方面遇到了一些问题。例如,假设一个成员于 2020 年 2 月 10 日 10:00 加入。当用户向服务器提交请求以处理订阅(服务器使用 UTC)时,正在计算的日期是 2020 年 2 月 10 日 16:00(因为我距 UTC 时间为 -6:00 小时)。这种情况在这一点上是可以的,因为日期仍然是相同的(无论时间如何)。但是,如果我们在用户加入时复制这种情况,例如 2020 年 2 月 10 日 19:00,当收到请求并计算日期时,结果是 2020 年 2 月 11 日 01:00,这会产生错误在发票中,因为发票的开票日期错误(一天后)。实现这一点的最佳方法是什么?我已经阅读了很多这个主题,但是大多数页面和问题都以另一种方式相关,服务器到客户端,解析格式日期以显示给用户。 我有几个与此过程相关的问题。
- 我应该将 UI 的日期发送到 API 吗?或时区和 基于此,计算 API 中的日期? (因为服务器有 UTC)
- Moment.js 库有办法解决这个问题,还是应该更好地使用使用 Date 的 vanilla Javascript?
- 请求是否有任何 HTTP 标头来处理时间或日期?
【问题讨论】:
标签: node.js date timestamp timezone utc