char tt[23]="2006-04-12 12:03:09.081";
time_t tt1;
如何将tt[23]放到tt1 ??????
小弟对C不熟,请大哥给出具体代码。
谢!!!!!!!!
6 个解决方案
#1
给出两种方法:
1.利用mktime
//指定time_t类型的时间,格式化为YYYYMMDDHH24MISS型的字符串
void FormatTime(time_t time1, char *szTime)
{
struct tm tm1;
#ifdef WIN32
tm1 = *localtime(%26amp;time1);
#else
localtime_r(%26amp;time1, %26amp;tm1 );
#endif
sprintf( szTime, %26quot;%4.4d%2.2d%2.2d%2.2d%2.2d%2.2d%26quot;,
tm1.tm_year+1900, tm1.tm_mon+1, tm1.tm_mday,
tm1.tm_hour, tm1.tm_min,tm1.tm_sec);
}
//指定YYYYMMDDHH24MISS型的时间,格式化为time_t型的时间
time_t FormatTime2(char * szTime)
{
struct tm tm1;
time_t time1;
sscanf(szTime, %26quot;%4d%2d%2d%2d%2d%2d%26quot;,
%26amp;tm1.tm_year,
%26amp;tm1.tm_mon,
%26amp;tm1.tm_mday,
%26amp;tm1.tm_hour,
%26amp;tm1.tm_min,
%26amp;tm1.tm_sec);
tm1.tm_year -= 1900;
tm1.tm_mon --;
tm1.tm_isdst=-1;
time1 = mktime(%26amp;tm1);
return time1;
}
====================================
2.格式化字符串
sscanf(sztime, %26quot;%4d%2d%2d%2d%2d%2d%26quot;, %26amp;tm1.tm_year,
%26amp;tm1.tm_mon, %26amp;tm1.tm_mday, %26amp;tm1.tm_hour, %26amp;tm1.tm_min,%26amp;tm1.tm_sec);
1.利用mktime
//指定time_t类型的时间,格式化为YYYYMMDDHH24MISS型的字符串
void FormatTime(time_t time1, char *szTime)
{
struct tm tm1;
#ifdef WIN32
tm1 = *localtime(%26amp;time1);
#else
localtime_r(%26amp;time1, %26amp;tm1 );
#endif
sprintf( szTime, %26quot;%4.4d%2.2d%2.2d%2.2d%2.2d%2.2d%26quot;,
tm1.tm_year+1900, tm1.tm_mon+1, tm1.tm_mday,
tm1.tm_hour, tm1.tm_min,tm1.tm_sec);
}
//指定YYYYMMDDHH24MISS型的时间,格式化为time_t型的时间
time_t FormatTime2(char * szTime)
{
struct tm tm1;
time_t time1;
sscanf(szTime, %26quot;%4d%2d%2d%2d%2d%2d%26quot;,
%26amp;tm1.tm_year,
%26amp;tm1.tm_mon,
%26amp;tm1.tm_mday,
%26amp;tm1.tm_hour,
%26amp;tm1.tm_min,
%26amp;tm1.tm_sec);
tm1.tm_year -= 1900;
tm1.tm_mon --;
tm1.tm_isdst=-1;
time1 = mktime(%26amp;tm1);
return time1;
}
====================================
2.格式化字符串
sscanf(sztime, %26quot;%4d%2d%2d%2d%2d%2d%26quot;, %26amp;tm1.tm_year,
%26amp;tm1.tm_mon, %26amp;tm1.tm_mday, %26amp;tm1.tm_hour, %26amp;tm1.tm_min,%26amp;tm1.tm_sec);
#2
由于是转贴
直接贴过来的
需要将 quot; -> -
amp; -> :
直接贴过来的
需要将 quot; -> -
amp; -> :
#3
char tt[23]="2006-04-12 12:03:09.081";
根据这个字符串, 分解各个成员,
赋值给一个 struct tm ,
然后用 mktime(), 把 struct tm 转换成 time_t ,
就是你所想要的结果了 ~
根据这个字符串, 分解各个成员,
赋值给一个 struct tm ,
然后用 mktime(), 把 struct tm 转换成 time_t ,
就是你所想要的结果了 ~
#4
char tt[23]="2006-04-12 12:03:09.081";
struct tm tm1;
time_t tt1;
sscanf(tt, "%d-%d-%d %d:%d:%d", tm1.tm_year, tm1.tm_mon, tm1.tm_mday, tm1.tm_hour, m1.tm_min, tm1.tm_sec);
tt1 = mktime(tm1);
struct tm tm1;
time_t tt1;
sscanf(tt, "%d-%d-%d %d:%d:%d", tm1.tm_year, tm1.tm_mon, tm1.tm_mday, tm1.tm_hour, m1.tm_min, tm1.tm_sec);
tt1 = mktime(tm1);
#5
虫虫的sscanf中,后边那些变量名前都忘了取地址了。:P
#6
呵呵~看得出虫老大好久不用scanf了~
#1
给出两种方法:
1.利用mktime
//指定time_t类型的时间,格式化为YYYYMMDDHH24MISS型的字符串
void FormatTime(time_t time1, char *szTime)
{
struct tm tm1;
#ifdef WIN32
tm1 = *localtime(%26amp;time1);
#else
localtime_r(%26amp;time1, %26amp;tm1 );
#endif
sprintf( szTime, %26quot;%4.4d%2.2d%2.2d%2.2d%2.2d%2.2d%26quot;,
tm1.tm_year+1900, tm1.tm_mon+1, tm1.tm_mday,
tm1.tm_hour, tm1.tm_min,tm1.tm_sec);
}
//指定YYYYMMDDHH24MISS型的时间,格式化为time_t型的时间
time_t FormatTime2(char * szTime)
{
struct tm tm1;
time_t time1;
sscanf(szTime, %26quot;%4d%2d%2d%2d%2d%2d%26quot;,
%26amp;tm1.tm_year,
%26amp;tm1.tm_mon,
%26amp;tm1.tm_mday,
%26amp;tm1.tm_hour,
%26amp;tm1.tm_min,
%26amp;tm1.tm_sec);
tm1.tm_year -= 1900;
tm1.tm_mon --;
tm1.tm_isdst=-1;
time1 = mktime(%26amp;tm1);
return time1;
}
====================================
2.格式化字符串
sscanf(sztime, %26quot;%4d%2d%2d%2d%2d%2d%26quot;, %26amp;tm1.tm_year,
%26amp;tm1.tm_mon, %26amp;tm1.tm_mday, %26amp;tm1.tm_hour, %26amp;tm1.tm_min,%26amp;tm1.tm_sec);
1.利用mktime
//指定time_t类型的时间,格式化为YYYYMMDDHH24MISS型的字符串
void FormatTime(time_t time1, char *szTime)
{
struct tm tm1;
#ifdef WIN32
tm1 = *localtime(%26amp;time1);
#else
localtime_r(%26amp;time1, %26amp;tm1 );
#endif
sprintf( szTime, %26quot;%4.4d%2.2d%2.2d%2.2d%2.2d%2.2d%26quot;,
tm1.tm_year+1900, tm1.tm_mon+1, tm1.tm_mday,
tm1.tm_hour, tm1.tm_min,tm1.tm_sec);
}
//指定YYYYMMDDHH24MISS型的时间,格式化为time_t型的时间
time_t FormatTime2(char * szTime)
{
struct tm tm1;
time_t time1;
sscanf(szTime, %26quot;%4d%2d%2d%2d%2d%2d%26quot;,
%26amp;tm1.tm_year,
%26amp;tm1.tm_mon,
%26amp;tm1.tm_mday,
%26amp;tm1.tm_hour,
%26amp;tm1.tm_min,
%26amp;tm1.tm_sec);
tm1.tm_year -= 1900;
tm1.tm_mon --;
tm1.tm_isdst=-1;
time1 = mktime(%26amp;tm1);
return time1;
}
====================================
2.格式化字符串
sscanf(sztime, %26quot;%4d%2d%2d%2d%2d%2d%26quot;, %26amp;tm1.tm_year,
%26amp;tm1.tm_mon, %26amp;tm1.tm_mday, %26amp;tm1.tm_hour, %26amp;tm1.tm_min,%26amp;tm1.tm_sec);
#2
由于是转贴
直接贴过来的
需要将 quot; -> -
amp; -> :
直接贴过来的
需要将 quot; -> -
amp; -> :
#3
char tt[23]="2006-04-12 12:03:09.081";
根据这个字符串, 分解各个成员,
赋值给一个 struct tm ,
然后用 mktime(), 把 struct tm 转换成 time_t ,
就是你所想要的结果了 ~
根据这个字符串, 分解各个成员,
赋值给一个 struct tm ,
然后用 mktime(), 把 struct tm 转换成 time_t ,
就是你所想要的结果了 ~
#4
char tt[23]="2006-04-12 12:03:09.081";
struct tm tm1;
time_t tt1;
sscanf(tt, "%d-%d-%d %d:%d:%d", tm1.tm_year, tm1.tm_mon, tm1.tm_mday, tm1.tm_hour, m1.tm_min, tm1.tm_sec);
tt1 = mktime(tm1);
struct tm tm1;
time_t tt1;
sscanf(tt, "%d-%d-%d %d:%d:%d", tm1.tm_year, tm1.tm_mon, tm1.tm_mday, tm1.tm_hour, m1.tm_min, tm1.tm_sec);
tt1 = mktime(tm1);
#5
虫虫的sscanf中,后边那些变量名前都忘了取地址了。:P
#6
呵呵~看得出虫老大好久不用scanf了~