当前位置: 首页 > news >正文

C++取时间戳窗口

应用场景

防止接口在指定的时间内重复调用,比如 10 秒内不能重复调用。

函数实现

#include <chrono>/// @brief 计算当前时间戳所属时间窗口的起始点(对齐到 Window 秒的整数倍)
/// @param Window 时间窗口长度(单位:秒)
template <int Window>
int64_t get_windowed_timestamp() {const auto now = std::chrono::system_clock::now();const auto seconds = std::chrono::duration_cast<std::chrono::seconds>(now.time_since_epoch()).count();return (seconds / Window) * Window;
}# 测试代码```c++
#include <iostream>
#include <thread>int main() {for (int i=0; i<100; i++) {std::cout << get_windowed_timestamp<10>() << std::endl;std::this_thread::sleep_for(std::chrono::milliseconds(2000));}return 0;
}
http://www.dtcms.com/a/190425.html

相关文章:

  • 腾讯 IMA 工作台升级:新增知识库广场与 @提问功能
  • AI-02a5a6.神经网络-与学习相关的技巧-批量归一化
  • C#扩展方法的入门理解
  • 标签部件(lv_label)
  • 进阶2_1:QT5多线程与定时器共生死
  • python:一个代理流量监控的媒体文件下载脚本
  • Docker使用经验-从Image导出dockerfile并进行修改
  • Spark处理过程--案例数据清洗
  • Unity引擎源码-物理系统详解-其二
  • 智能体制作学习笔记1——智能体
  • 软件设计师-下午题-试题4(15分)
  • 深入掌握 Python 切片操作:解锁数据处理的高效密码
  • 基于 Kubernetes 部署容器平台kubesphere
  • 基于网关实现不同网段S7-1200 CPU的通信方法
  • 【Spark分析HBase数据】Spark读取并分析HBase数据
  • 互联网大厂Java求职面试:优惠券服务架构设计与AI增强实践-6
  • Python 之 selenium 打开浏览器指定端口进行接续操作
  • 机器人示教操作
  • excel使用笔记
  • 【2025版】Spring Boot面试题
  • Flutter 开发入门:从一个简单的计数器应用开始
  • Problem E: List练习
  • Linux架构篇、第五章_02git2.49.0分支管理与Gitee的部署
  • 《实现模式》以Golang视角解读 价值观和原则 day 1
  • 【PSINS工具箱】基于工具箱的单独GNSS导航、单独INS导航、两者结合组合导航,三种导航的对比程序。附完整的代码
  • 计算机网络:什么是计算机网络?它的定义和组成是什么?
  • 记录一次git提交失败解决方案
  • 模糊数学方法之模糊贴近度
  • 解密企业级大模型智能体Agentic AI 关键技术:MCP、A2A、Reasoning LLMs- OpenAI AGI 五阶段
  • 实验六:按键模拟控制实现