当前位置: 技术问答>linux和unix
标准时间转化为unix时间 求教
来源: 互联网 发布时间:2016-03-21
本文导语: 标准时间转化为unix时间 比如: 2008-09-09 09:09:09 怎么转化为:********形式的unix的时间呢 请教~~~ | 就用这个函数! mymtom@freebsd$ cat mk_time.c #include #include #include int main(void) { time_t ...
标准时间转化为unix时间
比如:
2008-09-09 09:09:09
怎么转化为:********形式的unix的时间呢
请教~~~
比如:
2008-09-09 09:09:09
怎么转化为:********形式的unix的时间呢
请教~~~
|
就用这个函数!
mymtom@freebsd$ cat mk_time.c
#include
#include
#include
int
main(void)
{
time_t clock;
struct tm tm;
memset(&tm, 0, sizeof(tm));
tm.tm_year = 2008 - 1900;
tm.tm_mon = 9 - 1;
tm.tm_mday = 9;
tm.tm_hour = 9;
tm.tm_min = 9;
tm.tm_sec = 9;
clock = mktime(&tm);
printf("%s", ctime(&clock));
return 0;
}
mymtom@freebsd$ make mk_time && ./mk_time
cc mk_time.c -o mk_time
Tue Sep 9 09:09:09 2008
mymtom@freebsd$
|
转化为1970年1月1日以来的秒数?
试试mktime()
试试mktime()
|
time_t Time(void)
{
SYSTEMTIME st;
_int64 ft;
#define UNIXTIME_BASE ((_int64)0x019db1ded53e8000)
::GetLocalTime(&st);
::SystemTimeToFileTime(&st, (FILETIME *)&ft); //converts time
return (time_t)((ft - UNIXTIME_BASE) / 10000000);
}
|
#include
int main()
{
char *ptr="2007-01-05 11:40:50",*str;
struct tm beg;
time_t secnum;
str=strptime(ptr,"%Y-%m-%d %H:%M:%S",&beg);
if(!str)printf("format err!n");
else printf("%ldn",secnum=mktime(&beg));
}
这样的写法不用考虑夏至时。
int main()
{
char *ptr="2007-01-05 11:40:50",*str;
struct tm beg;
time_t secnum;
str=strptime(ptr,"%Y-%m-%d %H:%M:%S",&beg);
if(!str)printf("format err!n");
else printf("%ldn",secnum=mktime(&beg));
}
这样的写法不用考虑夏至时。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。