c++ - boost 日期不可变 - 那么如何在循环中使用它?

标签 c++ datetime boost

boost pdate 是不可变的,那么如何在循环中使用它呢?我需要与最后处理日期进行比较:

    date last(neg_infin);
    for (int i = 0; i < tasks.size(); i++) {
            if (tasks[i]->getTime().date() > last) {
                cout << ":::" << tasks[i]->getTime().date() << ":::" << endl;
            }
            cout << "[" << i << "]" << '\t';
            tasks[i]->print();
            // i need to change the last date here
            cout << endl;
        }

即。如果当前时间的日期部分晚于前一个,则打印日期,否则只打印时间

最佳答案

为什么需要明确的最后一个元素?这也行吗?

if (i == 0 || tasks[i]->getTime().date() > tasks[i-1]->getTime.date()) {

关于c++ - boost 日期不可变 - 那么如何在循环中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14415014/

相关文章:

c++ - 模板导出麻烦

c++ - 如何创建将坐标初始化为随机值的构造函数?

c++ - 移动 std::bitset<N> 是否超过 N 个位置未定义行为?

python - Pandas 从 CSV 和 groupby 每月总工作日中读取日期

php - 难以以小时计算年龄

java.time.format.DateTimeParseException : Text could not be parsed at index 21

c++ - 链接 boost 内存映射文件

c++ - 非连续容器(如 std::deque)的随机访问迭代器是如何实现的?

android - 使用 NDK 将库及其依赖项迁移到 Android

c++ - 在循环中附加范围