使用localtime_s获取当前日期
get current date with localtime_s
time_t t = time(0);
struct tm *now = localtime(&t);
使用上面的代码,我可以像这样简单地获取日期:
int yearNow = (now.tm_year + 1900), monthNow = (now.tm_mon + 1), dayNow = now.tm_mday
但是Visual Studio 2015在localtime
上给了我错误,请我使用localtime_s
代替。下面是我使用localtime_s
的代码:
time_t rawtime;
struct tm now;
localtime_s(&now, &rawtime);
但问题是,我如何得到int
中实际的当前年、月、日?我用以下代码打印变量:cout << now.tm_year << " " << now.tm_mon << " " << now.tm_mday;
但是输出是-1 -1 -1
应该用time(&rawtime)
初始化time_t
变量,以便localtime_s
可以使用它来正确填写struct
。与第一行time_t t = time(0)
非常相似,需要使用time
函数初始化变量,并向其传递一个空参数(0)或指向变量(&rawtime)的指针。
不幸的是,在内存中分配time_t
变量不会自动计算自Epoch以来的时间。这里有一个问题解决了同样的问题,除了它有一个您正在寻找的代码示例。
我从一个不同的问题中发现你如何得到一天中的当前时间?
下面的代码将为您提供日期字符串。你应该能够拆分它并将其转换为int。
DateTime.Now。TimeOfDay将其作为时间跨度(从午夜开始)提供给您。DateTime.Now。ToString("h:mm:ss tt")将其作为字符串提供给您。日期时间参考:https://msdn.microsoft.com/en-us/library/system.datetime
非常感谢Mark Brackett的回答
相关文章:
- 获取当前正在运行的 exe 名称(不是路径)
- 使程序检查当前日期是否=预期日期
- 如何获取当前用户的默认RAS电话簿路径?
- 获取当前密钥状态?
- C++程序以获取当前时间
- 如何使用提升获取当前文件路径?
- 日期和当前日期之间的差异
- 如何在 c++ 中获取当前文件路径?
- 仅使用C++中的标准库获取以毫秒为单位的当前日期和时间
- 在 C++20 中获取当前日期/时间是否线程安全?
- 如何在 c++ 中获取当前日期
- Qt - 以 mmmm YYYY 格式获取当前日期(作为字符串)
- 获取C++的当前日期和时间
- 可视化如何在C++程序中获取当前日期
- 从时钟获取当前日期
- C++11 获取当前日期和时间作为字符串
- 如何获取当前日期和时间
- 使用localtime_s获取当前日期
- 获取当前日期和时间
- 如何以秒为单位获取系统的当前日期时间