欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > C++取时间戳窗口

C++取时间戳窗口

2025/8/13 1:34:03 来源:https://blog.csdn.net/Aquester/article/details/147954933  浏览:    关键词: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;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词