#include <stdio.h>
#include <time.h>
#include <stdlib.h>
//时间戳转换为日期格式
void timestampToTime(char* timeStamp, char* dateTime, int dateTimeSize)
{time_t tTimeStamp = atoll(timeStamp);struct tm* pTm = gmtime(&tTimeStamp);strftime(dateTime, dateTimeSize, "%Y-%m-%d %H:%M:%S", pTm);
}

这是一个时间戳转换为日期格式函数
将timeStamp(时间戳)进行转化后赋值给 dateTime(日期格式)
dateTimeSize为最终结果可存放的字符数。(赋值32,暂可不管)

分解看:

time_t tTimeStamp = atoll(timeStamp);

time_t 的本质(数据类型)为long long类型(长整型)
atoll函数:将字符串转化为long long类型变量

struct tm* pTm = gmtime(&tTimeStamp);

tm 结构的指针,该结构带有被填充的时间信息(见附录)
gmtime 获取 GMT 时间 填充到 结构体 tm 中

strftime(dateTime, dateTimeSize, "%Y-%m-%d %H:%M:%S", pTm);

dateTime中存放dateTimeSize个字符。
该函数返回向dateTime指向的字符串。
"%Y-%m-%d %H:%M:%S"为输出格式,pTm为被提取的时间信息。

附录:
时间戳转换为日期格式 C/C++ 学习日记 新手讲解-编程之家
atolll函数使用实例

struct tm {int tm_sec;         /* 秒,范围从 0 到 59                */int tm_min;         /* 分,范围从 0 到 59                */int tm_hour;        /* 小时,范围从 0 到 23                */int tm_mday;        /* 一月中的第几天,范围从 1 到 31                    */int tm_mon;         /* 月份,范围从 0 到 11                */int tm_year;        /* 自 1900 起的年数                */int tm_wday;        /* 一周中的第几天,范围从 0 到 6                */int tm_yday;        /* 一年中的第几天,范围从 0 到 365                    */int tm_isdst;       /* 夏令时                        */    
};

tm 结构的指针,该结构带有被填充的时间信息