time_t orderTime = mktime(&tm{ 0,0,0,orderDay,orderMonth - 1,orderYear - 1900 });这段代码tm报错表达式必须为左值或函数指示符
时间: 2024-02-13 20:00:23 浏览: 107
time_t-tm-systemtime-.rar_C++ time_FILETIME_SystemTime _Time
嗯,这段代码的作用是将一个tm结构体表示的日期时间转换为一个time_t类型的时间戳。其中,tm结构体包含了年、月、日、时、分、秒等时间信息,而time_t类型的时间戳表示的是从1970年1月1日00:00:00至当前时间的秒数。
至于编译错误的问题,可能是因为你的编译器不支持使用花括号初始化结构体的方式。你可以试着将这段代码修改为如下形式:
```c++
struct tm orderTime = { 0 };
orderTime.tm_year = orderYear - 1900;
orderTime.tm_mon = orderMonth - 1;
orderTime.tm_mday = orderDay;
orderTime.tm_hour = 0;
orderTime.tm_min = 0;
orderTime.tm_sec = 0;
time_t orderTimestamp = mktime(&orderTime);
```
这样应该就能够正确编译了。
阅读全文