Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在c++11中进行相对日间比较的最干净的方法

在c++11中进行相对日间比较的最干净的方法
EN

Stack Overflow用户
提问于 2014-08-03 08:05:52
回答 2查看 598关注 0票数 2

假设我有一个事件流,每个事件都有一个完整的时间戳,跨越许多天。我想把它们和一天中的时间进行比较,但不管一天是什么时候。例如,如果给定的事件发生在12:00到12:05:00之间,那么可以做一些事情,但不管是哪一天。

事件时间戳自然适合作为std::chrono::time_point对象。什么是std最惯用的方式::做这些比较的时间?是否有一个对象表示一天中的某一时间,而不是特定于一天?我要自己滚吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-03 08:53:50

你可以这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
auto timePoint = std::chrono::system_clock::now();
std::time_t t = std::chrono::system_clock::to_time_t(timePoint);
auto ltime = std::localtime(&t); // or gmtime.
auto eventTime = std::chrono::hours(ltime->tm_hour)
    + std::chrono::minutes(ltime->tm_min);

auto lower_bound = std::chrono::hours(12) + std::chrono::minutes(0);
auto upper_bound = std::chrono::hours(12) + std::chrono::minutes(5);

if (lower_bound <= eventTime && eventTime <= upper_bound) {
    // Do some action.
}
票数 1
EN

Stack Overflow用户

发布于 2014-08-03 08:53:07

是否有一个对象表示一天中的某一时间,而不是特定于一天?我要自己滚吗?

我不这样认为。但是它的实现应该是微不足道的。将时间点转换为分解时间std::tm,然后检查单个成员.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <chrono>
#include <ctime>    // struct tm, gmtime()

using std::chrono::system_clock;

std::time_t ts = system_clock::to_time_t (system_clock::now());
std::tm& time = *gmtime (&ts);  // or localtime()

if (time.tm_hour==12 and time.tm_min>=0 and time.tm_min<5)
    cout << "Inside interval\n";

注意:gmtime()localtime()返回一个指向静态数据的指针,因此是而不是线程安全。Linux (可能还有其他*nix)具有线程安全的gmtime_r()localtime_r()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25106512

复制
相关文章
getBoundingClientRect方法获取元素在页面中的相对位置
获取元素位置可以用 offset 或 getBoundingClientRect,使用 offset 因为兼容性不好,比较麻烦,offset获取位置会形成“回溯”。而 getBoundingClientRect 方法则 兼容性较好,基本所有的浏览器都支持了,且使用起来更容易和简单。
用户6167509
2019/09/04
3.9K0
卸载python最干净的办法
首先打开命令行 查看当前使用的python版本 然后就去官网下载对应的版本(下载可执行安装文件) 下载完成后打开该文件 选择卸载python 然后就坐等卸载完成就OK了
py3study
2020/01/06
2.5K1
在java中进行日期时间比较的4种方法
java.util.Date提供了在Java中比较两个日期的经典方法compareTo()。
字母哥博客
2020/09/23
18.4K0
关于Android中设置闹钟的相对比较完善的解决方案
前些时候,有人在我「非著名程序员」公众号的后台问我有没有设置闹钟的demo,我当时说承诺为大家写一个,一直没空,直到最近又有人跟我要,我决定抽时间写一个吧。确实设置闹钟是一个比较麻烦的东西。我在这里写
非著名程序员
2018/02/02
1.9K0
关于Android中设置闹钟的相对比较完善的解决方案
如何对矩阵中的所有值进行比较?
需求相对比较明确,就是在矩阵中显示的值,需要进行整体比较,而不是单个字段值直接进行的比较。如图1所示,确认矩阵中最大值或者最小值。
逍遥之
2020/05/14
7.7K0
自动增长Textareas的最干净技巧「心得分享」
想法是使 <textarea> 更像 <div>,因此它的高度可以扩展以包含当前值。这几乎是奇怪的,没有一个简单的原生解决方案,不是吗?
睡魔的谎言
2020/12/22
1.2K0
CSS 中的相对单位
当网页打开后,用户还可以缩放网页,CSS 还需要适应新的限制。即不能在刚创建网页时就应用样式,而是等到要将网页渲染到屏幕上时,才能去计算样式。这给 CSS 增加了一个抽象层。我们无法根据理想的条件给元素添加样式,而是要设置无论元素处于任意条件,都能够生效的规则。
Cellinlab
2023/05/17
9150
相对角距离方法的Matlab实现
之前过冷水在推文中三维空间分布函数绘制实例中和大家分享了对分布函数g(r)的程序实现方法。只要你认真学习专研总有新的发现,这不过冷水就接触到了一种叫做相对角距离的方法,应用该方法可以得到一个完整的峰值函数,了解液态结构的应该知道称之为第一配位球层对分布函数。图像如下:
巴山学长
2021/05/31
7040
相对角距离方法的Matlab实现
5 种使 JavaScript 代码更干净的方法
JavaScript无处不在,从PC端到移动设备端,甚至是后端,都在使用JavaScript。
逆锋起笔
2022/03/28
4150
C++11中的to_string
C++11之前,标准库没有提供数字类型转字符串的函数,需要借助sprintf、stringstream等,现在C++11提供了std::to_string函数,可以直接使用了:
一见
2018/08/10
5420
在 Java 中如何比较日期?
在 Java 中有多种方法可以比较日期,日期在计算机内部表示为(long型)时间点——自1970年1月1日以来经过的毫秒数。在Java中,Date是一个对象,包含多个用于比较的方法,任何比较两个日期的方法本质上都会比较日期的时间。
武培轩
2019/10/19
4.7K0
这应该是我见过最干净的影视资源搜索站点
推荐一个影视资源检索网站:大树的影仓,不提供在线观看功能噢,只提供资源搜索及下载功能,界面很简洁,而且绝对干净,(肉鸡站点,大佬抬手)。
做棵大树
2022/09/27
5650
这应该是我见过最干净的影视资源搜索站点
在PHP中使用SPL库中的对象方法进行XML与数组的转换
虽说现在很多的服务提供商都会提供 JSON 接口供我们使用,但是,还是有不少的服务依然必须使用 XML 作为接口格式,这就需要我们来对 XML 格式的数据进行解析转换。而 PHP 中并没有像 json_encode() 、 json_decode() 这样的函数能够让我们方便地进行转换,所以在操作 XML 数据时,大家往往都需要自己写代码来实现。
硬核项目经理
2021/01/13
6K0
最简单的配置Apache在Linux下自动启动的方法
最后,保存rc.local,重新启动linux系统,然后看看apache是否正常随系统一同启动:)
魏杰
2022/12/23
7490
分列数据的方法比较
虽然Excel中分列能解决大部分的情况,但是有些情况是解决不了的。那我们可以看下在Power Query中对分列可以实现哪些效果。
逍遥之
2020/03/23
6090
【说站】javascript中throw和next方法的比较
2、唯一的区别是next方法传输的参数回到正常值。throw方法传输的参数是错误的对象。
很酷的站长
2022/11/24
6070
SLAM中位姿估计的图优化方法比较
作者:Andela Juric´, Filip Kendeš, Ivan Markovic´, Ivan Petrovic
计算机视觉
2021/11/19
1.9K0
SLAM中位姿估计的图优化方法比较
CA1036:重写可比较类型中的方法
类型实现 System.IComparable 接口,并且不重写 System.Object.Equals,也不重载表示相等、不等、小于或大于的语言特定运算符。 如果类型仅继承接口的实现,则规则不会报告冲突。
呆呆
2022/01/10
6280
点击加载更多

相似问题

在没有C++11的情况下在C++中进行回调的最干净的方法?

41

在JavaScript中实现单例的最简单/最干净的方法

395

最干净的快速路线方法

10

最干净的"curry“runnables方法

215

对django评论进行分页的最干净/最简单的方法是什么?

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文