linux time

#include <stdio.h>
#include <stddef.h>
#include <time.h>
#include <sys/time.h>

/*
1.字符串
#include <stdio.h>
#include <stddef.h>
#include <time.h>
*/
void Test_Asctime(void)
{
    time_t timer;//time_t就是long int 类型
    struct tm * tblock;
    timer = time(NULL);
    tblock = localtime(&timer);
    printf("Test_Asctime: %s\n",asctime(tblock));
}



/*
2.结构变量
#include<time.h>
#include<stdio.h>
*/
void Test_Localtime()
{
    struct tm *t;
    time_t tt;
    time(&tt);
    t=localtime(&tt);
    printf("time_t tt:%ld\n",tt);
    printf("Test_Localtime:%4d年%02d月%02d日 %02d:%02d:%02d\n\n",t->tm_year+1900,t->tm_mon+1,t->tm_mday,t->tm_hour,t->tm_min,t->tm_sec);
}



/*
3.精确到微秒/毫秒
[无法用一个函数得到,除非自己实现]
#include <stdio.h>
#include <time.h>
#include <sys/time.h>
*/


void Test_UsecTime()
{
    struct timeval    tv;
    struct timezone tz;

    struct tm         *p;

    gettimeofday(&tv, &tz);//gettimeofday(&tv, NULL);
    printf("tv_sec:%ld\n",tv.tv_sec);
    printf("tv_usec:%ld\n",tv.tv_usec);
//    printf("tz_minuteswest:%d\n",tz.tz_minuteswest);
//    printf("tz_dsttime:%d\n",tz.tz_dsttime);

    p = localtime(&tv.tv_sec);
    printf("Test_UsecTime:%d:%d:%d %d:%d:%d %ld:%ld\n", 1900+p->tm_year, 1+p->tm_mon, p->tm_mday, p->tm_hour, p->tm_min, p->tm_sec, tv.tv_usec/1000,tv.tv_usec%1000);
}




int main(void)
{
    Test_Asctime();
    Test_Localtime();
    Test_UsecTime();

    return 0;
}


/**
执行结果:
Test_Asctime: Tue Jul 26 12:54:19 2016

time_t tt:1469508859
Test_Localtime:2016年07月26日 12:54:19

tv_sec:1469508859
tv_usec:543745
Test_UsecTime:2016:7:26 12:54:19 543:745
*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值