鱼C论坛

 找回密码
 立即注册
查看: 12204|回复: 15

[函数快查] localtime -- 获取当前的本地时间和日期

[复制链接]
发表于 2017-6-24 23:05:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
localtime -- 获取当前的本地时间和日期


函数摘要:

localtime 函数用于获取当前的本地时间和日期。

其实 localtime 函数是将一个 time_t 类型的值转换成具体的本地时间和日期,所以需要先使用 time 函数来返回表示当前时间的 time_t。


小甲鱼科普

UTC:整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC,Universal Time Coordinated)。UTC 与格林尼治平均时(GMT, Greenwich Mean Time)一样,都与英国伦敦的本地时相同。

本地时间:北京时间所采取的时区是东八区,即比 UTC 快 8 小时,所以如果 UTC 时间是 13:00,则北京时间应该是 21:00。

函数原型:

  1. #include <time.h>
  2. ...
  3. struct tm *gmtime(const time_t *timep);
复制代码


参数解析:

参数 含义
timep1. 指向 time_t 类型的指针

2. 请使用 time 函数获取该指针需要指向的值


返回值:

返回值是一个指向 tm 结构体的指针。

tm 结构体包含了当地时间和日期:

  1. struct tm
  2. {
  3.            int tm_sec;     /* 秒,范围为 0~59,60 的话表示闰秒 */
  4.            int tm_min;     /* 分,范围是 0~59 */
  5.            int tm_hour;    /* 时,范围是 0~23 */
  6.            int tm_mday;    /* 一个月中的第几天,范围是 1~31 */
  7.            int tm_mon;     /* 一年中的第几个月,范围是 0~11 */
  8.            int tm_year;    /* 自 1900 年往后的第几年 */
  9.            int tm_wday;    /* 星期几,自星期天开始计算,范围是 0~6 */
  10.            int tm_yday;    /* 一年中的第几天,范围是 0~365 */
  11.            int tm_isdst;   /* 指定日光节约时间是否生效,正数表示生效,0 表示不生效,负数表示该信息不可用 */
  12. };
复制代码


演示:

  1. #include <stdio.h>
  2. #include <time.h>

  3. #define SUN 0
  4. #define MON 1
  5. #define TUE 2
  6. #define WED 3
  7. #define THU 4
  8. #define FRI 5
  9. #define SAT 6

  10. int main(void)
  11. {
  12.         struct tm *p;
  13.         time_t t;

  14.         time(&t);
  15.         p = localtime(&t);

  16.         switch(p->tm_wday)
  17.         {
  18.                 case MON:
  19.                 case TUE:
  20.                 case WED:
  21.                 case THU:
  22.                 case FRI:
  23.                         printf("干活!T_T\n");
  24.                         break;
  25.                 case SAT:
  26.                 case SUN:
  27.                         printf("放假!^_^\n");
  28.                         break;
  29.                 default:
  30.                         printf("Error!\n");
  31.         }

  32.         return 0;
  33. }
复制代码

搜狗截图20170624231146.png


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-12-5 17:26:56 | 显示全部楼层
打破零回复
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-9 14:29:00 | 显示全部楼层
其实 我一点都咩看懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2019-3-25 11:14:09 | 显示全部楼层
有没有不能用的 签个到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2019-12-4 13:00:07 | 显示全部楼层
17,18行是咩意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-6 15:31:10 | 显示全部楼层
giving up
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-16 22:37:46 | 显示全部楼层
干活???????????????????
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-24 18:59:22 | 显示全部楼层
试试能不能用到17~18的课后作业中
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-16 15:10:45 | 显示全部楼层

17行调用time函数,18行调用localtime函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-20 16:32:04 | 显示全部楼层
嗯哼汪小洋 发表于 2020-3-16 22:37
干活???????????????????

干活是因为你运行日期是星期一
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-16 17:32:35 | 显示全部楼层
1024打卡打卡
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-22 00:05:32 | 显示全部楼层
打卡
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-23 10:18:02 | 显示全部楼层
nice!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-7 15:01:43 | 显示全部楼层
江南盛景 发表于 2019-3-25 11:14
有没有不能用的 签个到

好奇怪 我复制代码 都是显示的干活
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-13 10:43:21 | 显示全部楼层
来了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-7-20 22:21:50 | 显示全部楼层
小甲鱼,22-26句连着用case,计算机不会理解为是当case MON,case TUE,case WED,case THU 时无指令吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 23:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表