1

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;
        }

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

4

2 回答 2

0

好吧,既然您已经在处理索引tasks,请改为存储“最后一个”索引,而不是日期。

int lastIndex = 0;
for (int i = 1; i < tasks.size(); i++) {
        if (tasks[i]->getTime().date() > tasks[lastIndex]->getTime.date()) {
            cout << ":::" << tasks[i]->getTime().date() << ":::" << endl;

        }
        cout << "[" << i << "]" << '\t';
        tasks[i]->print();

        lastIndex = i;

        cout << endl;
    }
于 2013-01-19T14:00:14.697 回答
0

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

if (i == 0 || tasks[i]->getTime().date() > tasks[i-1]->getTime.date()) {
于 2013-01-19T14:02:21.547 回答