разница между датой и текущей датой - PullRequest
0 голосов
/ 29 августа 2018

У меня есть 14-дневное расписание, и вместо того, чтобы запомнить его, я написал это. но я не знаю, как получить текущую дату в формате, который будет работать для этой программы. C ++ 11 предпочтителен, но не обязателен

#include <iostream>
#include <date.h>

using namespace std;

int main()
{
     using namespace date;
    using namespace std;
    auto a = 2012_y/1/24;
    auto b = current date; //I have not figured how to get current date 
    auto c = (sys_days{b} - sys_days{a}).count();
    auto d = c%14
    switch (d) {
    case 1: cout << blank; //blank will be replaced with the schedule
    break;
    case 2: cout << blank;
    break;
    case 3: cout << blank;
    break;
    case 4: cout << blank;
    break;
    case 5: cout << blank;
    break;
    case 6: cout << blank;
    break;
    case 7: cout << blank;
    break;
    case 8: cout << blank;
    break;
    case 9: cout << blank;
    break;
    case 10: cout << blank;
    break;
    case 11: cout << blank;
    break;
    case 12: cout << blank;
    break;
    case 13: cout << blank;
    break;
    case 14: cout << blank;
    break;
    }
    return 0;
}

1 Ответ

0 голосов
/ 29 августа 2018

Похоже, вы используете Библиотека даты / времени Говарда Хиннанта .

Вы можете получить текущую дату в виде sys_days с помощью:

auto b = floor<days>(chrono::system_clock::now());

Это будет текущая дата в UTC. Если вам это нужно в определенном часовом поясе, вам нужно использовать библиотеку часовых поясов (tz.h в том же месте, где вы нашли date.h).

Если вы используете C ++ 17, floor можно найти в <chrono>. В противном случае вы можете найти его в "date.h".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...