linux c 字符串到time_t时间转换
2015-10-27 15:08
585 查看
转载:http://www.vimer.cn/2009/10/%E6%97%B6%E9%97%B4time_t%E5%92%8Cstring%E6%A0%BC%E5%BC%8F%E4%BA%92%E8%BD%AC.html
</pre></p><p></p><p><pre name="code" class="cpp">int StringToTimeEX(const string &strDateStr,time_t &timeData) { char *pBeginPos = (char*) strDateStr.c_str(); char *pPos = strstr(pBeginPos,"-"); if(pPos == NULL) { printf("strDateStr[%s] err \n", strDateStr.c_str()); return -1; } int iYear = atoi(pBeginPos); int iMonth = atoi(pPos + 1); pPos = strstr(pPos + 1,"-"); if(pPos == NULL) { printf("strDateStr[%s] err \n", strDateStr.c_str()); return -1; } int iDay = atoi(pPos + 1); int iHour=0; int iMin=0; int iSec=0; pPos = strstr(pPos + 1," "); //为了兼容有些没精确到时分秒的 if(pPos != NULL) { iHour=atoi(pPos + 1); pPos = strstr(pPos + 1,":"); if(pPos != NULL) { iMin=atoi(pPos + 1); pPos = strstr(pPos + 1,":"); if(pPos != NULL) { iSec=atoi(pPos + 1); } } } struct tm sourcedate; bzero((void*)&sourcedate,sizeof(sourcedate)); sourcedate.tm_sec = iSec; sourcedate.tm_min = iMin; sourcedate.tm_hour = iHour; sourcedate.tm_mday = iDay; sourcedate.tm_mon = iMonth - 1; sourcedate.tm_year = iYear - 1900; timeData = mktime(&sourcedate); return 0; } int TimeToStringEX(string &strDateStr,const time_t &timeData) { char chTmp[100]; bzero(chTmp,sizeof(chTmp)); struct tm *p; p = localtime(&timeData); p->tm_year = p->tm_year + 1900; p->tm_mon = p->tm_mon + 1; snprintf(chTmp,sizeof(chTmp),"%04d-%02d-%02d %02d:%02d:%02d", p->tm_year, p->tm_mon, p->tm_mday,p->tm_hour,p->tm_min,p->tm_sec); strDateStr = chTmp; return 0; } int TimeToStringShortEX(string &strDateStr,const time_t &timeData) { char chTmp[100]; bzero(chTmp,sizeof(chTmp)); struct tm *p; p = localtime(&timeData); p->tm_year = p->tm_year + 1900; p->tm_mon = p->tm_mon + 1; snprintf(chTmp,sizeof(chTmp),"%04d-%02d-%02d", p->tm_year, p->tm_mon, p->tm_mday); strDateStr = chTmp; return 0; }
相关文章推荐
- 系统管理员必学的30个Linux实用命令
- 【Linux】系统 之 Load
- Systemd这个有争议的项目正在接管你身边的Linux发行版
- LINUX 服务器之间文件传输SCP命令
- Linux 系统挂载数据盘
- linux 生产环境搭建
- Linux获取帮助等基础命令的使用
- linux系统中的简单拷贝文件代码
- Linux 系统中僵尸进程
- Linux<十> 开机关机启动与多重启动
- linux 环境和 windows 环境在部署web项目时注意的问题
- Linux系统环境crontab定时任务设置参数实例及常用技巧
- [Linux] Sed命令笔记
- 10个linux实用工具
- CentOS 配置mysql允许远程登录
- 使用Java调用linux命令ffmpeg
- Linux下如何解压.tar.bz2格式的压缩包
- linux tar 命令
- linux LVM
- linux两个不同终端上的信息交流