我需要在c ++中获取时间戳。我在chrono
中找到了一些功能,例如:
std::chrono::system_clock::now()
但是它正在返回当前时间。如何获得一天的时间戳?我的意思是表示今天的00:00:00和昨天的时间相同?我是c ++的新手。.
答案 0 :(得分:1)
我认为,您只需要日期,而无需时间。因此,您可以这样获得它:
#include <chrono>
#include <ctime>
#include <iomanip>
#include <iostream>
using namespace std;
int main()
{
auto curr = std::chrono::system_clock::now();
auto tm = std::chrono::system_clock::to_time_t(curr);
cout << std::put_time(std::localtime(&tm), "%d.%m.%Y");
}
当然,如果需要,您可以强行重置时间字段:
auto curr = std::chrono::system_clock::now();
time_t tm = std::chrono::system_clock::to_time_t(curr);
auto lt = std::localtime(&tm);
lt->tm_hour = 0;
lt->tm_min = 0;
lt->tm_sec = 0;
cout << lt->tm_mday << "." << lt->tm_mon + 1 << "." << lt->tm_year + 1900 << endl;