如何将字符串转换为是将格式
比如说字符串为20120312121212
如何转换为时间格式2012-03-12 12:12:12
[解决办法]
#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;}
[解决办法]
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);