当前位置:  技术问答>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的时间呢

请教~~~

|

就用这个函数!

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()

|
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));
}


这样的写法不用考虑夏至时。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于标准时间的问题!
  • 将日历时间转换为标准时间的方法?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3