C语言中有关时间的函数汇总

函数:time;localtime;gmtime;ctime;asctime;

1)time

time()函数声明位于time.h中,

原型是:time_t time(time *timeptr)

作用是:

返回1970-1-1日0时0分0秒到调用时刻的时长,如果参数不是空指针,那么返回值也会存储到参数自变量指向的位置。就是我们常说的日历时间。

#include <stdio.h>
#include <stddef.h>
#include <time.h>
int main(void)
{
	time_t timer;
	struct tm *tblock;
	timer = time(NULL);
	printf("%08X\n",timer);
	tblock = localtime(&timer);
	printf("Local time is: %s\n",asctime(tblock));
	return 0;
}
 

localtime()函数声明位于time.h中

原型是:struct tm *localtime(const time_t *timer);

作用是:

将日历时间(1970-1-1日0时0分0秒开始的时长)转换为本地时区的日期和时间结构。些函数的参数不是秒数本身,而是一个指向此数值的指针,成功调用此函数后可以通过struct tm结构体的各成员访问传入参数对应的本地时间

struct   tm
{
      int   tm_sec;            /*0-59的秒数*/
      int   tm_min;            /* 0-59的分数 */
      int   tm_hour;         /* 0-23的小时数 */
      int   tm_mday;       /*1-31的日期数*/
      int   tm_mon;         /*0-11的月数*/
      int   tm_year;         /* 1900~至今的年数 */
      int   tm_wday;       /*0-6的星期数*/
      int   tm_yday;       /*0-365的天数*/
      int   tm_isdst;       /*日光节约
};
 
#include <stdio.h>
#include <time.h>
int main(int argc,char **argv)
{ 

time_t timep;   struct tm *localp;   struct tm *gmp;   timep=time(NULL);   localp=localtime(&timep); /* 获取当前时间 */   gmp=gmtime(&timep); /* 获取当前时间 */

  printf("%x\n",timep);     printf("localtime:%2d-%02d-%02d %02d:%02d:%02d\n",(1900+localp->tm_year),    (1+localp->tm_mon),localp->tm_mday,localp->tm_hour,    localp->tm_min,localp->tm_sec);//注意这里年+1900,月+1  

  printf("gmtime:   %2d-%02d-%02d %02d:%02d:%02d\n",(1900+gmp->tm_year),    (1+gmp->tm_mon),gmp->tm_mday,gmp->tm_hour,    gmp->tm_min,gmp->tm_sec);//注意这里年+1900,月+1 

  printf("local today's date and time(asctime): %s\n", asctime(localp)); //打印日志时间。   printf("gm today's date and time(asctime): %s\n", asctime(gmp)); //打印日志时间。     printf("time today's date and time: %s\n", ctime(&timep)); //打印日志时间。

return 0;

}
 
输出:

4f23baff

localtime:2012-01-28 09:08:15 gmtime:   2012-01-28 09:08:15

local today's date and time(asctime): Sat Jan 28 09:08:15 2012

gm today's date and time(asctime): Sat Jan 28 09:08:15 2012

time today's date and time: Sat Jan 28 17:08:15 2012

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值