Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用localtime\u获取当前日期_C++ - Fatal编程技术网

C++ 使用localtime\u获取当前日期

C++ 使用localtime\u获取当前日期,c++,C++,通过上面的代码,我可以简单地得到如下日期: time_t t = time(0); struct tm *now = localtime(&t); 但是VisualStudio2015在localtime,请我使用localtime\u s来代替。下面是我使用localtime\s的代码: int yearNow = (now.tm_year + 1900), monthNow = (now.tm_mon + 1), dayNow = now.tm_mday 但问题是,如何在int中

通过上面的代码,我可以简单地得到如下日期:

time_t t = time(0);
struct tm *now = localtime(&t);
但是VisualStudio2015在
localtime
,请我使用
localtime\u s
来代替。下面是我使用
localtime\s
的代码:

int yearNow = (now.tm_year + 1900), monthNow = (now.tm_mon + 1), dayNow = now.tm_mday
但问题是,如何在
int
中获取实际的当前年、月、日?
我用以下代码打印变量:
cout我从另一个问题中发现的内容

下面的代码将为您提供日期字符串。您应该能够将其拆分并将其转换为int

DateTime.Now.TimeOfDay以时间跨度的形式提供给您(从午夜开始)。 DateTime.Now.ToString(“h:mm:ss tt”)将其作为字符串提供给您。 日期时间参考:


非常感谢Mark Brackett的回答

应该使用
time(&rawtime)
初始化
time\t
变量,以便
localtime\s
可以使用它正确填写
结构
。与第一行
time\u t=time(0)
非常相似,需要使用
time
函数初始化变量,并向其传递空参数(0)或指向变量的指针(&rawtime)

不幸的是,在内存中分配
time\u t
var并不会自动计算自Epoch以来的时间。一个解决相同问题的问题,只是它有一个您正在寻找的代码示例

time_t rawtime;
struct tm now;
localtime_s(&now, &rawtime);