文章目录

  • time()函数
    • 1. time()函数的用途
    • 2. time()函数的头文件
    • 3. time()函数返回的数据类型
    • 4. time()函数使用示例
  • localtime函数
  • 例子1
  • 例子2
  • 内核的时间打印
  • 参考链接:

time()函数

1. time()函数的用途

time_t time(time_t *t);

函数说明:此函数会返回从公元1970年1月1日的UTC时间从0时0分0秒算起到现在所经过的秒数(即格林尼治时间1970年1月1日00:00:00到当前时刻的时长,时长单位是秒)。如果t并非空指针的话,此函数也会将返回值存在t指针所指的内存。
返回值:成功则返回秒数,失败则返回((time_t)-1)值,错误原因存于error中。

从声明中可以看出,time()函数返回值的数据类型是time_t。传递给time()函数的参数是指向time_t数据类型的指针。

2. time()函数的头文件

要使用time(),必须在程序中包含 ##include <time.h> 头文件。

3. time()函数返回的数据类型

下面是从<time.h>文件中找到的函数声明:

time_t time(time_t *t)
time(time_t *t)

从声明中可以看出,time()函数返回值的数据类型是 time_t 。传递给time()函数的参数是指向time_t数据类型的指针。

4. time()函数使用示例

time()函数有两种使用方式:

(1) t1=time(NULL)或t1=time(0)

将空指针传递给time()函数,并将time()返回值赋给变量t1

(2) time(&t2);

将变量t2的地址作为实参传递给time()函数,函数自动把结果传递给t2,不需要额外的赋值语句。
示例代码:

    #include <stdio.h>#include <time.h>int main(){time_t t1,t2; //分别声明两种使用方式的赋值对象t1=time(0);   //第一种使用方式time(&t2);    //第二种使用方式printf("t1=%ld\n",t1);printf("t2=%ld",t2);return 0;}

localtime函数

struct tm* localtime(const time_t *timep);

函数说明:localtime()将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回。结构tm的定义可以参考gmtime()。此函数返回的时间日期已经转换成当地时区。
返回值:返回结构tm代表目前的当地时间。


例子1

#include <stdio.h>
#include <stdlib.h>
#include <time.h>#define BUF_SIZE 200typedef struct {int year;int month;int day;int hour;int minute;int second;
}Time_YMD_HMS;char* getNowTime()
{Time_YMD_HMS *curDate =(Time_YMD_HMS *)malloc(sizeof(Time_YMD_HMS));char *timeBuf =(char *)malloc(BUF_SIZE);//bzero(timeBuf,BUF_SIZE);//bzero(curDate,sizeof(Time_YMD_HMS));memset(timeBuf,0,BUF_SIZE);memset(curDate,0,sizeof(Time_YMD_HMS));time_t now;struct tm *timeNow;time(&now);timeNow = localtime(&now);curDate->year=timeNow->tm_year+1900;curDate->month=timeNow->tm_mon+1;curDate->day=timeNow->tm_mday;curDate->hour=timeNow->tm_hour;curDate->minute=timeNow->tm_min;curDate->second=timeNow->tm_sec;// yyyy-MM-dd HH:mm:ssif(curDate->second < 10)sprintf(timeBuf, "%d-%d-%d %d:%d:0%d",curDate->year,curDate->month,curDate->day,curDate->hour,curDate->minute,curDate->second);elsesprintf(timeBuf, "%d-%d-%d %d:%d:%d",curDate->year,curDate->month,curDate->day,curDate->hour,curDate->minute,curDate->second);free(curDate);return timeBuf;
}int main()
{while (1){printf("%s \n",getNowTime());}return 0;
}

例子2

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>void gettime(char *cur_time) {char Year[6] = {0};char Month[4] = {0};char Day[4] = {0};char Hour[4] = {0};char Min[4] = {0};char Sec[4] = {0};time_t current_time;struct tm* now_time;time(&current_time);now_time = localtime(&current_time);strftime(Year, sizeof(Year), "%Y-", now_time);strftime(Month, sizeof(Month), "%m-", now_time);strftime(Day, sizeof(Day), "%d ", now_time);strftime(Hour, sizeof(Hour), "%H:", now_time);strftime(Min, sizeof(Min), "%M:", now_time);strftime(Sec, sizeof(Sec), "%S", now_time);strncat(cur_time, Year, 5);strncat(cur_time, Month, 3);strncat(cur_time, Day, 3);strncat(cur_time, Hour, 3);strncat(cur_time, Min, 3);strncat(cur_time, Sec, 3);
}int main() {char *cur_time = (char *)malloc(21*sizeof(char));gettime(cur_time);printf("Current time: %s\n", cur_time);free(cur_time);cur_time = NULL;return 0;
}

内核的时间打印

void sundp_get_time()
{struct tm tm1;time_t local_time1;local_time1 = ktime_get_real_seconds();time64_to_tm(local_time1, -sys_tz.tz_minuteswest * 60, &tm1);tm1.tm_year += 1900;tm1.tm_mon += 1;tm1.tm_mday += 2;uvc_printk(KERN_INFO, "sundp_ %d_%d_%d %d:%d.%d   ",tm1.tm_year,tm1.tm_mon,tm1.tm_mday,tm1.tm_hour,tm1.tm_min,tm1.tm_sec);
}

参考链接:

获取当前时间,要用到time.h中的time()和localtime()函数,二者具体介绍与使用,参见:
C中时间/环境/终端控制相关函数
c语言time()函数用法,参见:
C语言time()函数的用法
c++时间结构体(time_t和tm)

C语言time()函数的用法相关推荐

  1. php函数find的用法,c语言find函数的用法详解

    c语言find函数的用法详解 C语言之find()函数 find函数用于查找数组中的某一个指定元素的位置. 比如:有一个数组[0, 0, 5, 4, 4]: 问:元素5的在什么位置,find函数 返回 ...

  2. C语言“fread”函数的用法?

    C语言"fread"函数的用法为"size_tf read(void *buffer,size_t size,size_t count,FILE *stream)&quo ...

  3. linux之getcwd函数解析,Linux 中C语言getcwd()函数的用法

    Linux 中C语言getcwd()函数的用法 先来看该函数的声明: #include char *getcwd(char *buf,size_t size); 介绍: 参数说明:getcwd()会将 ...

  4. c语言get()的作用,c语言get函数的用法有哪些

    C语言中gets从标准输入设备读字符串函数,可以无限读取,不会判断上限,今天学习啦小编在这里为大家介绍C语言get函数的用法,欢迎大家阅读! c语言get函数的用法:int getc(FILE *st ...

  5. R语言 diag函数的用法

    R语言 diag函数的用法 我们今天写一下关于R语言中diag函数的用法: (1)diag函数可以用来提取矩阵的对角元素,并将它保存成向量的格式.值得注意的是,如果所要提取的矩阵不是方阵的话,diag ...

  6. C语言 strstr函数的用法及模拟实现strstr函数

    C语言 strstr函数的用法及模拟实现strstr函数 一.strstr函数的用法 二.模拟实现strstr函数的功能 一.strstr函数的用法 1.strstr函数原型:char* strstr ...

  7. 计算机科学类专升本复习之“C语言fopen函数的用法”详解(初稿)

    C语言fopen函数的用法,C语言打开文件详解 在C语言中,"操作文件" 之前 必须 先"打开文件"; 所谓"打开文件",就是让 " ...

  8. c语言fread函数,C语言“fread”函数的用法?

    C语言"fread"函数的用法? C语言"fread"函数的用法为"size_tf read(void *buffer,size_t size,siz ...

  9. c语言memcpy是什么,C语言memcpy函数的用法

    介绍 memcpy是memory copy的缩写,意为内存复制,在写C语言程序的时候,我们常常会用到它.它的函原型如下: void *memcpy(void *dest, const void *sr ...

最新文章

  1. android h5 多图上传源码,JS移动端/H5同时选择多张图片上传并使用canvas压缩图片...
  2. 查看tcp各个连接状态的数量
  3. python urllib.request 爬虫 数据处理-运维学python之爬虫基础篇(二)urllib模块使用...
  4. P1967 货车运输
  5. HDU - 6582 Path(最短路+最大流)
  6. Maven精选系列--三种仓库详解
  7. Linux笔记-Linux中的TracerPid
  8. ElasticSearch API实现CRUD
  9. linux下iptables的编译及简单使用
  10. 学会这一招,轻松玩转 app 中混合应用自动化测试
  11. 批量获取客户端时间偏差
  12. 第二十九篇、UICollectionView瀑布流
  13. Nginx中的upstream轮询机制介绍
  14. matlab x轴特殊符号,matlab中的特殊符号
  15. html标题栏显示文字居中,让标题栏文字居中
  16. JavaScript中this的指向总结
  17. 网页中使用iconfont图标
  18. 《Head First 系列图书》大集合,附案例分析,免积分下载
  19. 使用stream将List转换为用逗号拼接的字符串
  20. 科目二:倒车入库考试技巧详细图解

热门文章

  1. 算法笔记_137:二分图的最大匹配(Java)
  2. 力扣206反转链表:代码实现+图文全解+方法总结(四种方法)
  3. VTK顶点 面片颜色 呈现
  4. Python3 获取内外网IP
  5. 十六进制转ASCII码
  6. python用图片暗示表白
  7. 速卖通产品编辑中使用html,速卖通新手注意了,教你怎么上传产品
  8. Mac答疑「3」大学生买macbookpro合适吗
  9. 客户端交互设计适配之——屏幕大小
  10. 《天池龙珠 - Python训练营》04.Python数据分析:从0完成一个数据分析实战