C++上周一的时间戳

San*_*dro 0 c++ time datetime

我需要使用C++获取上一个星期一开始(00:00)在我当地时区的时间戳(time_t).有没有简单的方法在不使用第三方库的情况下仅使用标准C++?

Ala*_*les 5

为什么没有第三方图书馆?Howard Hinnant的标题日期库可以在以后的标准中使用,这样更容易:

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

int main()
{
    using namespace date;
    using namespace std::chrono;
    //auto now = sys_days(2018_y/August/12);
    auto now = floor<days>(system_clock::now());
    date::weekday day = weekday{ now };
    now -= day - Monday;
    std::cout << year_month_day(now) << "\n";
    time_t time = now.time_since_epoch().count();
    std::cout << time << "\n";
}
Run Code Online (Sandbox Code Playgroud)