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

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.xdnf.cn/news/6258.html

相关文章:

  • 在线黑白图像转换:简单却强大的视觉表达工具
  • 计算机组成原理:I/O
  • 死信队列-常见的业务场景
  • gd32e230c8t6 keil6工程模板
  • 关于嵌入式系统的知识课堂(一)
  • 2天长沙旅游规划
  • 几种运放典型应用电路
  • Vue:显示数据
  • HTML 颜色全解析:从命名规则到 RGBA/HSL 值,附透明度设置与场景应用指南
  • Flutter - UIKit开发相关指南 - 线程和异步
  • Seed1.5-VL:高效通用的视觉-语言基础模型
  • leetcode - 滑动窗口问题集
  • Qt 自定义槽 + 自定义信号(9)
  • 《数据库原理》部分习题解析1
  • 使用Haproxy搭建高效Web群集的完整指南
  • MATLAB中heatmap函数
  • 基于开源链动2+1模式AI智能名片S2B2C商城小程序的低集中度市场运营策略研究
  • RHCE认证通过率
  • LeetCode Hot100 (1/100)
  • 家庭宽带的内网穿透实践
  • 数学实验(Matlab符号运算)
  • 面试篇: Redis(持续更新)
  • vue3基础学习 [简单标签] (vscode)
  • More Effective C++:改善编程与设计(上)
  • Redis内存淘汰策略和过期键删除策略有哪些?
  • Flutter在键盘的上方加一个完成按钮
  • JAVA异常体系
  • Linux proc文件系统 内存影射
  • YOLO11解决方案之热力图探索
  • 二分查找的边界问题