c语言中的time ctime asctime gmtime localtime mktime

synopsis:  
 #inlcude<time.h>
 time_t time(time_t *time);
 char *ctime(const time_t *time);
 char *asctime(const struct tm *tm);
 struct tm *gmtime(const time_t *time);
 struct tm *localtime(const time_t *time);
 time_t mktime(struct tm *tm);


 description:
 time:
 time 返回的是 日历时间(calender time),即从1970/1/1 00:00:00 到当前的秒数。
 如果 参数time为NULL或者0,则结果保存在time的返回值中,否则,结果保存在time中
 
 ctime:
 ctime 参数是time返回的日历时间,返回字符串,比如:“Mon Jun 30 20:57:32 2014\n”。(broken-down time)


 asctime:
 asctime 返回同ctime一样的字符窜,只是参数是结构体struct tm *tm 


 gmtime:
 gmtime参数是time返回的日历时间,返回结构体指针,此指针所指结构体表示的时间是 UTC时间,即协调世界时间,比GMT更精确
 返回的结构体定义为:
 struct tm {
      int     tm_sec;         /* seconds */  范围是:    0-59


      int     tm_min;         /* minutes */              0-59


      int     tm_hour;        /* hours */ 0-23


      int     tm_mday;        /* day of the month */     1-31


      int     tm_mon;         /* month */    特别注意:  0-11


      int     tm_year;        /* year */     从1900年开始到当前的年数


      int     tm_wday;        /* day of the week */      0-6 0表示星期天,以此到星期六


      int     tm_yday;        /* day in the year */      从1月1日开始  0-365


      int     tm_isdst;       /* daylight saving time */  夏令时制,即是“日光节约时制”一般在天亮早的夏季人为将时间提前一小时,
                                                          可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电。
 其实从英文表达就可以看出它的意义。其值为0或正数,正数表示 该时制生效
 0表示不生效。
 };
 特别的:tm_year 为从1900年开始到当前所经过的 年数,如当前为2014年,则tm_year为2014-1900=114年
tm_mon 的范围为0-11
 想得到本地时间时,对于 重庆 来说,因为其处于东8区,所以比UTC提前8个小时,所以tm_hour+8才是重庆的正确小时数。


 localtime:
 localtime的参数是time返回的日历时间,返回结构体指针,此指针所指结构体表示的时间是 本地时间,与gmtime不同。
 这表示,tm_hour直接就表示本地小时数。
 其他与gmtime相同。


 mktime:  mktime的参数是结构体指针,返回的是日历时间。

代码运行环境:CentOS 6.4-x86      gcc version 4.4.7

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <string.h>

int main()
{
	time_t t;
	time(&t);
	printf("%d\n",t);
	printf("output of ctime : %s",ctime(&t));//ctime()
	char buf[40];
	ctime_r(&t,buf);
	printf("output of ctime_r : %s",buf);//ctime_r()

	struct tm *now;
	now = gmtime(&t); //gmtime()
	printf("output of gmtime : %d/%d/%d %d:%d:%d\n",(1900+now->tm_year),
	  (1+now->tm_mon),now->tm_mday,(8+now->tm_hour),now->tm_min,now->tm_sec);
	
	now = localtime(&t); //localtime()
	printf("output of localtime: %d/%d/%d %d:%d:%d\n",(1900+now->tm_year),
		(1+now->tm_mon),now->tm_mday,now->tm_hour,now->tm_min,now->tm_sec);
	
	struct tm *con_now;//asctime()
	con_now = (struct tm *)malloc(sizeof(con_now));
	con_now->tm_year = 114;
	con_now->tm_mon = 5;
	con_now->tm_mday = 30;
	con_now->tm_wday = 1;
	con_now->tm_hour = 16;
	con_now->tm_min = 53;
	con_now->tm_sec = 34;
	printf("output of asctime: %s",asctime(con_now));
	printf("output of asctime: %s",asctime(localtime(&t)));
	
	printf("output of mktime: %d\n",mktime(con_now));//mktime()
	

	return 0;
}
第一次写技术博客,不对的地方请指正,多多交流。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: `time` 模块的 `time` 函数可用于获取当前时间的时间戳(从1970年1月1日0时0分0秒起的秒数)。具体用法如下: ``` import time # 获取当前时间的时间戳 current_time = time.time() print(current_time) ``` 此外,`time` 模块还提供了其他有用的函数,例如: - `sleep`:用于让程序暂停执行一段时间 - `gmtime`:将时间戳转换为 UTC 格式的时间元组 - `localtime`:将时间戳转换为本地时间元组 - `asctime`:将时间元组转换为可读的字符串格式 - `ctime`:将时间戳转换为可读的字符串格式 ### 回答2: time模块是Python标准库的一个模块,其包含了很多有关时间的函数。它提供了获取时间、日期、休眠和计时等功能。下面是time模块的一些常用函数及其详细用法: 1. time.time():返回当前时间的时间戳。 例:t = time.time() # 返回一个浮点数,表示从1970年1月1日到现在过去的秒数。 2. time.sleep(secs):使程序进入休眠状态,暂停执行一段时间。 例:time.sleep(1) # 暂停1秒。 3. time.localtime([secs]):将秒数转换为本地时间的struct_time对象。 例:local_time = time.localtime(1630850746) # 将1630850746秒转换为本地时间。 4. time.strftime(format[, t]):将时间元组或struct_time对象转换为指定格式字符串。 例:current_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) # 获取当前时间并按指定格式输出。 5. time.strptime(string[, format]):将指定格式的字符串转换为时间元组。 例:time_tuple = time.strptime("2021-09-06", "%Y-%m-%d") # 将字符串转换为时间元组。 6. time.mktime(t):将时间元组或struct_time对象转换为时间戳。 例:timestamp = time.mktime(time_tuple) # 将时间元组转换为时间戳。 7. time.perf_counter():返回一个性能计数器的值,用于精确测量运行时间。 例:start = time.perf_counter() # 执行计时操作 end = time.perf_counter() elapsed = end - start # 计算运行时间。 通过使用time模块,我们可以方便地获取当前时间、暂停执行一段时间、进行时间格式转换以及计时等操作,为编写时间相关程序提供了很大的便利。 ### 回答3: time模块是Python标准库的一个模块,提供了与时间相关的函数和类。下面是time模块的几个常用函数和相关的用法。 1. time()函数:返回当前的时间戳,即从1970年1月1日午夜开始经过的秒数。 ```python import time now = time.time() print(now) ``` 2. localtime()函数:将一个时间戳转换为本地时间的struct_time(时间元组)。 ```python import time timestamp = time.time() local_time = time.localtime(timestamp) print(local_time) ``` 3. gmtime()函数:将一个时间戳转换为UTC时间的struct_time。 ```python import time timestamp = time.time() utc_time = time.gmtime(timestamp) print(utc_time) ``` 4. strftime()函数:将struct_time对象格式化为字符串。 ```python import time local_time = time.localtime() formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time) print(formatted_time) ``` 5. sleep()函数:让程序暂停指定的秒数。 ```python import time print("开始") time.sleep(3) # 暂停3秒 print("结束") ``` 6. perf_counter()函数:返回一个CPU级别的精确时间计数值。 ```python import time start = time.perf_counter() # 执行一段代码或操作 end = time.perf_counter() execution_time = end - start print(f"执行时间:{execution_time}秒") ``` 7. monotonic()函数:返回一个单调递增的时间值,具有最好的可用精度。 ```python import time start = time.monotonic() # 执行一段代码或操作 end = time.monotonic() execution_time = end - start print(f"执行时间:{execution_time}秒") ``` 以上是time模块的一些常用函数和用法,可以用于获取当前时间、时间格式化、暂停执行等操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值