C++ 如何获取当前日期和时间?

C++ 如何获取当前日期和时间?,c++,time,C++,Time,如何获取当前日期d/m/y。我需要他们有3个不同的变量,而不是一个,例如day=d;月=m;年份=y库提供了这样的功能 也检查一下。这是另一篇文章,它可能会根据您的平台帮助您解决问题。对于linux,您可以使用该函数 #include <time.h> time_t theTime = time(NULL); struct tm *aTime = localtime(&theTime); int day = aTime->tm_mday; int month = a

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

库提供了这样的功能


也检查一下。这是另一篇文章,它可能会根据您的平台帮助您解决问题。

对于linux,您可以使用该函数

#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
#包括
时间=时间(空);
struct tm*aTime=localtime(&theTime);
int day=aTime->tm\u mday;
int month=aTime->tm\u mon+1;//月份为0-11,添加1可获得1-12月份的概念
int year=aTime->tm_year+1900;//年是自1900年以来的#年

这是
chrono
方式(C++0x)-在

#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;
}
#包括
#包括
#包括
使用名称空间std;
typedef std::chrono::系统时钟;
int main()
{
自动现在=时钟::现在();
std::time\u t now\u c=时钟::到时间(now);
struct tm*parts=std::localtime(&now_c);

std::cout tm#year你试过什么?@Fredrik,提问比研究简单。
#include#include#使用名称空间std;int main(){time#t=time(0);//get time now struct tm*now=localtime(&t);cout tm_year+1900)在@PaoloM上实时发布了工作示例,该标题是必需的,很抱歉,在gcc 4.8下,它编译时没有
。它肯定会被
包含。你是指localtime(&time(NULL));?我更正了答案,因为它不会按原样编译。你不能通过指针获得右值(即仅仅是一个数字)所以你需要先把它放到一个变量中