首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

使用strptime函数时遇到的一个坑

做新专辑排序的需求时,需要对专辑的时间进行排序,由于目前该字段是字符串类型的日期,在排序函数中要转成标准的UNIX时间戳来进行对比,大概代码如下: struct tm tm1; strptime(string...18").c_str(), "%Y-%m-%d", &tm1); time_t t1 = mktime(&tm1); std::cout << t1 << endl; struct tm tm2; strptime...这里有提到说如果是从strptime()取到的值,tm_isdst的值是不确定的,必须手动指定。因此想到,是否对于未做初始化的struct tm,strptime()函数并不会去给每个值赋值。...查看strptime It is unspecified whether multiple calls to strptime() using the same tm structure will update...因此,解决方法就是在使用strptime()之前,对结构体进行零初始化(zero-initialize) struct tm tm1 = {0}; ... struct tm tm2 = {0};

2.1K80

c++ 获取时间戳_C++那些事之时间转换

也欢迎大家积极推荐本项目,让更多人从中学习并提出一些问题来,不断完善项目,《C++那些事》这两天霸榜github trending C++,下图可见:   今日,来学习一下Linux时间相关函数。...上述可以通过C++11的chrono实现,感兴趣的可以实现一下,本节通过Linux函数来实现。   2.实践   首先引入tm结构体,很多人估计没听过tm,tm是时间的一个结构体。  ...方式1:strptime函数。  ...time_t Str2UnixTime(std::string time_str) {  struct tm tm;  memset(&tm, 0, sizeof(tm));  strptime(time_str.c_str...sscanf     从字符串读取格式化输入strptime     将一个字符串格式化为一个tm结构   至此就完成了第二个目标,下面来完成第一个目标。

3.2K00
领券