#define _CRT_SECURE_NO_WARNINGS 1 #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表示的是传入参数的格式中每个数字距离字符串开头的长度;
运行结果如下:
来自:https://blog.csdn.net/e295166319/article/details/72846760