C/C++ 字符串与时间戳互相转换

 //时间戳转string  1713175204=  2024-04-15 18:00:04
    struct	tm	*ttime;
    time_t flag_time = time(NULL);
    ttime = localtime(&flag_time);
    char	time_str[100];
    cout << flag_time <<endl;
    cout << mktime(ttime) <<endl;

    sprintf(time_str,"%04d-%02d-%02d %02d:%02d:%02d",ttime->tm_year+1900,ttime->tm_mon+1,ttime->tm_mday,ttime->tm_hour,ttime->tm_min,ttime->tm_sec);
    cout << "1 = " <<time_str <<endl;
    strftime(time_str,100,"%Y年%m月%d日 %H时%M分%S秒",ttime);
    cout << "2=  " <<time_str <<endl;
    //string转时间戳   2024-04-15 18:00:04 = 1713175204
    string ss = time_str;
    cout << ss <<endl;

    //方式一:linux系统适用
//    struct tm timeinfo;
//    strptime(time_str.c_str(), "%Y年%m月%d日 %H时%M分%S秒",  &timeinfo); //windows环境下没有
//    time_t timeStamp = mktime(&timeinfo); //将结构体转为时间戳
//    cout << timeStamp<<endl;
   // 方式二
    struct tm tm_;
    int year, month, day, hour, minute,second;
    sscanf(ss.c_str(),"%d年%d月%d日 %d时%d分%d秒", &year, &month, &day, &hour, &minute, &second);//将string按照格式进行解析到数据中
//    sscanf(ss.c_str(),"%d-%d-%d %d:%d:%d", &year, &month, &day, &hour, &minute, &second);//将string按照格式进行解析到数据中
    tm_.tm_year  = year-1900;
    tm_.tm_mon   = month-1;
    tm_.tm_mday  = day;
    tm_.tm_hour  = hour;
    tm_.tm_min   = minute;
    tm_.tm_sec   = second;
    tm_.tm_isdst = 0;
    cout << year << " "<< month  << " " << day << " "<< endl;
    cout << tm_.tm_year << " "<< tm_.tm_mon  << " " <<  tm_.tm_mday << " "<< endl;
    time_t timeStamp = mktime(&tm_);
    cout <<"timeStamp = "<< timeStamp<<endl;

时间戳转string

string	CRelayControlInterface::GetFlagTimeStr(time_t flag_time)
{
	struct	tm	*ttime;
	ttime = localtime(&flag_time);

	char	time_str[100];
	sprintf(time_str,"%04d%02d%02d%02d%02d%02d",ttime->tm_year+1900,ttime->tm_mon+1,ttime->tm_mday,ttime->tm_hour,ttime->tm_min,ttime->tm_sec);

    return string(time_str);
}

string转时间戳


time_t CRelayControlInterface::GetTimeforStr(const string& time_str)
{
        struct tm timeinfo;
        strptime(time_str.c_str(), "%Y-%m-%d-%H:%M:%S", &timeinfo);
        time_t timeStamp = mktime(&timeinfo); //将结构体转为时间戳
        return timeStamp;
}

相关推荐

  1. C/C++ 字符串时间互相转换

    2024-05-03 00:20:03       9 阅读
  2. python时间时间字符串转化

    2024-05-03 00:20:03       9 阅读
  3. LocalDateTime时间转换的全局配置

    2024-05-03 00:20:03       37 阅读
  4. Oracle中的时间转换使用

    2024-05-03 00:20:03       12 阅读
  5. 时间时间转换及android和ios对时间识别的区别

    2024-05-03 00:20:03       36 阅读
  6. js时间转换为日期

    2024-05-03 00:20:03       6 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-03 00:20:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-03 00:20:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-03 00:20:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-03 00:20:03       18 阅读

热门阅读

  1. LeetCode //C - 47. Permutations II

    2024-05-03 00:20:03       12 阅读
  2. 网络扫描技术

    2024-05-03 00:20:03       10 阅读
  3. COMP30027 Machine Learning Project 2 Book Rating Prediction

    2024-05-03 00:20:03       12 阅读
  4. Linux内核深入学习 - 内核同步

    2024-05-03 00:20:03       12 阅读
  5. web响应式页面是啥要注意啥

    2024-05-03 00:20:03       11 阅读
  6. C# Solidworks二次开发:枚举应用实战(第十讲)

    2024-05-03 00:20:03       11 阅读