字符串转时间(time_t)

来源:互联网 发布:c 高级编程第三版 编辑:程序博客网 时间:2024/04/27 21:54
#include <stdio.h>#include <time.h>/** *      str为日期字符串 *      formatStr 为时间对应的格式, *      如2012-07-04 15:33:52对应的格式为%d-%d-%d %d:%d:%d */time_t string2time(const char * str,const char * formatStr){  struct tm tm1;  int year,mon,mday,hour,min,sec;  if( -1 == sscanf(str,formatStr,&year,&mon,&mday,&hour,&min,&sec)) return -1;  tm1.tm_year=year-1900;  tm1.tm_mon=mon-1;  tm1.tm_mday=mday;  tm1.tm_hour=hour;  tm1.tm_min=min;  tm1.tm_sec=sec;  return mktime(&tm1);}int main(void) {  time_t t1=string2time("2012-07-04 15:33:52","%d-%d-%d %d:%d:%d");  if(t1 == -1)    {      fputs("convert error!\n",stderr);      exit(1);    }  char buf[20]={0};  strftime(buf,sizeof(buf),"%F %T",localtime(&t1));  printf("%s\n",buf);  return 0;}
原创粉丝点击