C++ 将时间戳转换成标准时间

来源:互联网 发布:java模糊查询 编辑:程序博客网 时间:2024/06/04 20:07

代码如下:

#include "iostream"#include "time.h"#include "string.h"using namespace std;typedef struct times{int Year;int Mon;int Day;int Hour;int Min;int Second;}Times;Times stamp_to_standard(int stampTime){time_t tick = (time_t)stampTime;struct tm tm; char s[100];Times standard;tm = *localtime(&tick);strftime(s, sizeof(s), "%Y-%m-%d %H:%M:%S", &tm);printf("%d: %s\n", (int)tick, s); standard.Year = atoi(s);standard.Mon = atoi(s+5);standard.Day = atoi(s+8);standard.Hour = atoi(s+11);standard.Min = atoi(s+14);standard.Second = atoi(s+17);return standard;}int main(){Times t = stamp_to_standard(1496299670);return 0;}

注:里面的atoi(s+5); +8、+11、+14、+17表示的是传入参数的格式中每个数字距离字符串开头的长度;

运行结果如下: