如何解决在 c 中将 time_t 转换为 DATE 结构
我有以下结构:
typedef struct Date {
short day,month,year;
} DATE;
我想创建一个获取 time_t
变量并将其转换为 DATE
的函数,但我遇到了一些问题。
尝试了以下方法:
DATE timeTConverter(time_t date)
{
struct tm *giverTime;
giverTime = localtime(date);
DATE given;
given.day = giverTime->tm_mday;
given.month = giverTime->tm_mon++;
given.year = giverTime->tm_year;
return given;
}
但是好像不行。 有什么想法吗?
解决方法
localtime()
接受指向 time_t
的指针,而不是 time_t
本身。
同样增加 giverTime->tm_mon
没有意义,因为结果没有被使用。您似乎想改为分配 giverTime->tm_mon + 1
。
DATE timeTConverter(time_t date)
{
struct tm *giverTime;
giverTime = localtime(&date); /* pass a pointer */
DATE given;
given.day = giverTime->tm_mday;
given.month = giverTime->tm_mon+1; /* simply add instead of increment */
given.year = giverTime->tm_year;
return given;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。