关于c ++:如何获取当前日期和时间?

How to get current date and time?

本问题已经有最佳答案,请猛点这里访问。

如何获得当前日期d / m / y。 我需要他们有3个不同的变量而不是一个,例如day=d; month=m; year=y;


对于linux,您将使用'localtime'函数。

1
2
3
4
5
6
7
8
#include <time.h>

time_t theTime = time(NULL);
struct tm *aTime = localtime(&theTime);

int day = aTime->tm_mday;
int month = aTime->tm_mon + 1; // Month is 0 - 11, add 1 to get a jan-dec 1-12 concept
int year = aTime->tm_year + 1900; // Year is # years since 1900


这是chrono方式(C ++ 0x) - 请访问http://ideone.com/yFm9P

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <chrono>
#include <ctime>
#include <iostream>

using namespace std;

typedef std::chrono::system_clock Clock;

int main()
{
    auto now = Clock::now();
    std::time_t now_c = Clock::to_time_t(now);
    struct tm *parts = std::localtime(&now_c);

    std::cout << 1900 + parts->tm_year  << std::endl;
    std::cout << 1    + parts->tm_mon   << std::endl;
    std::cout <<        parts->tm_mday  << std::endl;

    return 0;
}


ctime库提供了这样的功能。

还检查一下。 根据您的平台,这是另一篇可能会帮助您的帖子。