- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
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_t
变量应使用 time(&rawtime)
进行初始化,以便 localtime_s
可以使用它来正确填写 结构
。与第一行 time_t t = time(0)
非常相似,它要求您使用 time
函数初始化变量并向其传递空参数 (0) 或指向变量 (&rawtime) 的指针。
不幸的是,在内存中分配一个 time_t
变量不会自动计算自 Epoch 以来的时间。 Here's一个解决相同问题的问题,除了它有您要查找的代码示例。
关于c++ - 使用 localtime_s 获取当前日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40050638/
我正在尝试制作一个日历,所以我使用 time_t 和 localtime_s 来存储时间和日期信息,然后将其存储在 Calendar 类的各个成员中: void Callendar::Initiali
time_t t = time(0); struct tm *now = localtime(&t); 使用上面的代码,我可以像这样简单地获取日期: int yearNow = (now.tm_yea
以下 C++ 代码无法使用 VS2015 进行编译: #include #include void main() { const time_t t = std::time(nullptr)
好像localtime_s() (相当于标准 localtime_r )包含 MSVC 中的关键部分。 为了比较,这里有 2 个示例应用程序,一个是 localtime_s在一个循环中,另一个 gmt
time_t rawtime; struct tm * timeinfo; time ( &rawtime ); timeinfo = localtime ( &rawtime ); 这将返回:警告
我写了一个跨平台代码,给出了当前日期 (mm/dd/yy) 和时间 (hh/mm/ss) 和完整日期 (yyyymmdd),此代码适用于 windows(MSVS2015) 但不适用于Linux(GC
我正在使用 C++ 中的一个函数来帮助获取当月的整数。我进行了一些搜索并找到了一个使用本地时间的,但我不想将其设置为删除警告,因此我需要使用 localtime_s。但是当我使用它时,我的指针不再起作
我编写了以下接收时间点并返回带毫秒的 ISO 字符串的函数: std::string TimePointToISOString(const std::chrono::time_point& time)
我正在尝试使用 std::chrono::time_point 将当前年份存储在 1970 年之前的日期中,但是我遇到了一个关于从其内容读取到 std::tm 的问题结构。 我转换 time_poin
我是一名优秀的程序员,十分优秀!