Unix时间戳和标准时间格式之间的转换-C语言库函数版.pdf

Unix时间戳和标准时间格式之间的转换-C语言库函数版.pdf

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Unix时间戳和标准时间格式之间的转换-C语⾔库函数版 整理⼀下c中关于标准时间格式和时间戳之间的相互转换。 在标准时间格式和时间戳之间的转换中 有⼀个转换介质或者说是桥梁 :时间结构体tm。 对于两者的转换 都需要⾸先转换为tm结构体 再通过 ⾃带的函数即可转换成想要的格式。 ⼀、标准时间格式-tm-时间戳 : 1.⾸先把标准时间格式转换为tm时间结构体 : 通过atoi函数可获取标准时间格式中的年⽉⽇时分秒 ; 再把年- 1970 ⽉- 1 即可赋值到tm中。 2.然后通过mktime函数把tm时间结构体转换为时间戳 : (int)mktime(tm); ⼆、时间戳-tm-标准时间格式: 1.⾸先把时间戳转换为tm时间结构体 : time_t tick = (time_t)stampTime;//stampTime为int型的时间戳 转为time_t型数据 tm = *localtime(tick); 2.然后通过strftime函数把tm时间结构体转换为标准时间: strftime(std, sizeof (std), %Y-%m-%d %H:%M:%S, tm); 其中std为字符串 %Y-%m-%d %H:%M:%S为想要输出的格式。 以下为例 (转) : 1 标准时间准换成时间戳 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);*/ //标准时间格式例如 :20 16:08:02 12:12:30 return (int)mktime(stm); } 2 时间戳转换成标准时间 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; //tick = time(NULL); 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); standar

文档评论(0)

132****0155 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档