C标准时间与时间戳的相互转换

话不多说,直接上代码;

#include <stdio.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>

/*标准时间转换为时间戳*/
int standard_to_stamp(char *str_time)
{
struct tm stm;
int iY,iM,iD,iH,iMin,iS;
memset(&stm,0,sizeof(stm));
iY = atoi(str_time);
iM = atoi(str_time+5);
iD = atoi(str_time+8);
iH = atoi(str_time+11);
iMin = atoi(str_time+14);
iS = atoi(str_time+17);
stm.tm_year=iY-1900;
stm.tm_mon=iM-1;
stm.tm_mday=iD;
stm.tm_hour=iH;
stm.tm_min=iMin;
stm.tm_sec=iS;
//printf(“%d-%0d-%0d %0d:%0d:%0d\n”, iY, iM, iD, iH, iMin, iS);

return (int)mktime(&stm);

}

/*时间戳转换为标准时间*/
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(int argc, char **argv)
{
int a =0;

printf(“输入的标准时间时: %s \n”,argv[1]);

a=standard_to_stamp(argv[1]);
printf(“标准时间转换为时间戳: %d\n”,a);

stamp_to_standard(a);

return 0;
}

运行结果:

C标准时间与时间戳的相互转换-时光屋

————下载必看————

1、资源通过互联网渠道公开获取,仅供阅读测试,请在下载后24小时内删除,谢谢合作!
2、若版权方认为本站侵权,请联系发邮件至(rsstime@qq.com)处理。
3、本站解压密码统一为:yudouyudou

时光屋 » C标准时间与时间戳的相互转换

发表评论

至臻视听_发烧收藏

会员介绍 常见问题