C语言time()函数的用法
文章目录
- 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(¤t_time);now_time = localtime(¤t_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()函数的用法相关推荐
- php函数find的用法,c语言find函数的用法详解
c语言find函数的用法详解 C语言之find()函数 find函数用于查找数组中的某一个指定元素的位置. 比如:有一个数组[0, 0, 5, 4, 4]: 问:元素5的在什么位置,find函数 返回 ...
- C语言“fread”函数的用法?
C语言"fread"函数的用法为"size_tf read(void *buffer,size_t size,size_t count,FILE *stream)&quo ...
- linux之getcwd函数解析,Linux 中C语言getcwd()函数的用法
Linux 中C语言getcwd()函数的用法 先来看该函数的声明: #include char *getcwd(char *buf,size_t size); 介绍: 参数说明:getcwd()会将 ...
- c语言get()的作用,c语言get函数的用法有哪些
C语言中gets从标准输入设备读字符串函数,可以无限读取,不会判断上限,今天学习啦小编在这里为大家介绍C语言get函数的用法,欢迎大家阅读! c语言get函数的用法:int getc(FILE *st ...
- R语言 diag函数的用法
R语言 diag函数的用法 我们今天写一下关于R语言中diag函数的用法: (1)diag函数可以用来提取矩阵的对角元素,并将它保存成向量的格式.值得注意的是,如果所要提取的矩阵不是方阵的话,diag ...
- C语言 strstr函数的用法及模拟实现strstr函数
C语言 strstr函数的用法及模拟实现strstr函数 一.strstr函数的用法 二.模拟实现strstr函数的功能 一.strstr函数的用法 1.strstr函数原型:char* strstr ...
- 计算机科学类专升本复习之“C语言fopen函数的用法”详解(初稿)
C语言fopen函数的用法,C语言打开文件详解 在C语言中,"操作文件" 之前 必须 先"打开文件"; 所谓"打开文件",就是让 " ...
- c语言fread函数,C语言“fread”函数的用法?
C语言"fread"函数的用法? C语言"fread"函数的用法为"size_tf read(void *buffer,size_t size,siz ...
- c语言memcpy是什么,C语言memcpy函数的用法
介绍 memcpy是memory copy的缩写,意为内存复制,在写C语言程序的时候,我们常常会用到它.它的函原型如下: void *memcpy(void *dest, const void *sr ...
最新文章
- android h5 多图上传源码,JS移动端/H5同时选择多张图片上传并使用canvas压缩图片...
- 查看tcp各个连接状态的数量
- python urllib.request 爬虫 数据处理-运维学python之爬虫基础篇(二)urllib模块使用...
- P1967 货车运输
- HDU - 6582 Path(最短路+最大流)
- Maven精选系列--三种仓库详解
- Linux笔记-Linux中的TracerPid
- ElasticSearch API实现CRUD
- linux下iptables的编译及简单使用
- 学会这一招,轻松玩转 app 中混合应用自动化测试
- 批量获取客户端时间偏差
- 第二十九篇、UICollectionView瀑布流
- Nginx中的upstream轮询机制介绍
- matlab x轴特殊符号,matlab中的特殊符号
- html标题栏显示文字居中,让标题栏文字居中
- JavaScript中this的指向总结
- 网页中使用iconfont图标
- 《Head First 系列图书》大集合,附案例分析,免积分下载
- 使用stream将List转换为用逗号拼接的字符串
- 科目二:倒车入库考试技巧详细图解