首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Date getTime()未更新

Date getTime()未更新
EN

Stack Overflow用户
提问于 2021-06-02 21:47:29
回答 1查看 40关注 0票数 0

我有一个应用程序在做一些HTTP请求,每次我向API发送请求时,我需要在报头中发送一个时间戳参数,它必须是一个整数,并且这个数字永远不能等于或小于前一个数字。

因此,为了处理这个问题,我使用了一个简单的解决方案:

代码语言:javascript
运行
复制
const timestamp = Math.round(new Date().getTime() / 1000)

正如你们所知道的,这总是会产生一个比前一个更大的数字。但有时它根本不能正确刷新。我每隔10秒发出一次新请求,但有时函数生成的数字与10秒前相同……怎么做?

所以我需要的是这个问题的解决方案

附言:我也尝试过使用Date.now(),同样的问题也出现了

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-02 22:11:13

我看到你说你每10秒才做一个新的请求,所以我关于少于每秒一次的评论不应该适用。

被调整的时钟不应该是一个频繁的问题,但如果你的计算机的时间被同步到一个时间服务器,而且它的内部时钟不是很准确,那么当系统时钟重新同步时,就需要不时地调整大于10秒的时间。

解决该问题的唯一方法(如果这就是问题所在)是跟踪您上次发布的时间戳,并执行以下操作:

代码语言:javascript
运行
复制
let lastTimestamp = 0; // Outside of the function wrapping the code below
   //
const timestamp = Math.max(Math.round(Date.now() / 1000), lastTimestamp + 1);
lastTimestamp = timestamp;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67806412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档