如何将字符串转换为是将格式

loveheronly 2012-03-15 09:31:28
比如说字符串为20120312121212
如何转换为时间格式2012-03-12 12:12:12
...全文
90 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
quwei197874 2012-03-15
  • 打赏
  • 举报
回复
sprintf(...)
从头来过 2012-03-15
  • 打赏
  • 举报
回复
写函数,根据长度把数值取出来,再拼成字符串呗
大海啊全是水 2012-03-15
  • 打赏
  • 举报
回复
char* date = "20120312121212";
char dateFormat[20]={0};
int y=0,m=0,d=0,h=0,s=0,mi=0;
sscanf(date, "%4d%2d%2d%2d%2d%2d", &y,&m,&d,&h,&s,&mi);
sprintf(dateFormat,"%4d-%02d-%02d %02d:%02d:%02d",y,m,d,h,s,mi);
loveheronly 2012-03-15
  • 打赏
  • 举报
回复
谢谢4楼,还有其他更简便的方法吗
hen_hao_ji 2012-03-15
  • 打赏
  • 举报
回复

#include<iostream>
#include<cstdio>
#include<cstring>

using namespace std;

struct node{
char year[5];
char month[3];
char day[3];
char h[3];
char m[3];
char s[3];
}data;
int main()
{
char str[]="20120312121212";

strncpy(data.year, str, 4);
strncpy(data.month, str + 4, 2);
strncpy(data.day, str + 6, 2);
strncpy(data.h, str + 8, 2);
strncpy(data.m, str + 10, 2);
strncpy(data.s, str + 12, 2);
printf("%s-%s-%s %s:%s:%s\n", data.year, data.month, data.day, data.h, data.m, data.s);
return 0;
}
酒鬼 2012-03-15
  • 打赏
  • 举报
回复
字符串操作函数,string、CString、boost、数组,内存..
Furney 2012-03-15
  • 打赏
  • 举报
回复
这个没有现成的方法,需要自己写函数实现。或者参考Boost库的正则表达式。
自己实现函数就是简单的字符串处理,还是比较简单的,有问题再交流。
pengchy 2012-03-15
  • 打赏
  • 举报
回复
自己写程序来针对每种需要的格式进行解析.
King.SQ 2012-03-15
  • 打赏
  • 举报
回复
读取出来的字符串 通过substring截取字符串并添加你要加的格式字符就OK了

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧