写法不限,仅供参考!
/**
* 时间戳转成普通日期格式
* 计算方式如下:
* 第一种:1970/01/01 00:00:00
* 第二种:1970/01/01 08:00:00
*/
int FuncTimeStamp2RegularDate(const unsigned long long ullData, const bool bAdd8Hours, int *pnYear,
int *pnMonth, int *pnDay, int *pnHour, int *pnMin, int *pnSec)
{
int nBasicYears = 1970; // 从1970年开始算起
int nOneMinSecs = 60; // 一分钟60秒
int nOneHourSecs = 3600; // 一小时3600秒
long nOneDaySecs = 86400; // 一天86400秒
bool bLeapYear = false;
unsigned long long nSecSum = 0;
int nMonthDays[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (true==bAdd8Hours)
nSecSum = ullData + (8*nOneHourSecs);
else