获取本地时间


方式一:

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

int main()
{
    time_t tnow;
    struct tm *tmnow;
    time(&tnow);
    tmnow = localtime(&tnow);

    //usec
    struct timeval tv;
    if(gettimeofday(&tv,NULL)<0)
        return 0;
    printf("%d:%06d\n",tv.tv_sec,tv.tv_usec);

    printf("%4d-%2d-%2d %02d:%02d:%02d week:%d\n",
            (1990 + tmnow->tm_year),
            (1 + tmnow->tm_mon),
            tmnow->tm_mday,
            tmnow->tm_hour,tmnow->tm_min,tmnow->tm_sec,
            tmnow->tm_wday);

    return 0;
}


方式二:

#include <stdio.h>
#include <time.h>
#include <sys/types.h>
u_int64_t fromTimeval(const struct timeval* tv)
{
	u_int64_t rval = 0;
	if (tv)            
	{                  
		// Please keep it this way or the compiler may break
		rval = tv->tv_sec;
		rval *= 1000000;
		rval += tv->tv_usec;
	}
	return rval;       
}
int main()
{
	unsigned int s = 0;
	unsigned int u = 0;
	time_t sec = (time_t) s;
	struct tm tmp;
	struct timeval tv; 

	u_int64_t t = gettimeofday(&tv,0) ? 0 : fromTimeval(&tv);

	s = (unsigned int) (t / 1000000);
	u = (unsigned int) (t % 1000000);
	sec = (time_t) s;
	printf("sec = %d\n",sec);

	localtime_r(&sec,&tmp);
	printf("%04d-%02d-%02d %02d:%02d:%02d.%06u\n ",
			(1990 + tmp.tm_year),
			(1 + tmp.tm_mon),
			tmp.tm_mday,
			tmp.tm_hour, tmp.tm_min, tmp.tm_sec, u);

	return 0;
}


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值