首页 > 其他分享 >【C语言】时间结构体

【C语言】时间结构体

时间:2023-06-29 11:56:32浏览次数:24  
标签:__ include int C语言 时间 time define TYPE 结构

本文主要就C语言中常用类型time_t具体分析。

一、定义

首先来看一下定义,原来是一种类型重命名。

/* File: /usr/include/time.h */
typedef __time_t time_t;

库文件中使用的其实是__time_t这个命名。

/* File: /usr/include/bits/time.h */
struct timeval
{
    __time_t tv_sec;        /* Seconds.  */
    __suseconds_t tv_usec;  /* Microseconds.  */
};

接着看进一步的定义

/* File: /usr/include/bits/types.h */
__STD_TYPE __TIME_T_TYPE __time_t;  /* Seconds since the Epoch.  */
__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds.  */
__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds.  */
/* File: /usr/include/bits/typesizes.h */
#define __TIME_T_TYPE       __SLONGWORD_TYPE
#define __USECONDS_T_TYPE   __U32_TYPE
#define __SUSECONDS_T_TYPE  __SLONGWORD_TYPE
/* File: /usr/include/bits/types.h */
#define __S16_TYPE      short int
#define __U16_TYPE      unsigned short int
#define __S32_TYPE      int
#define __U32_TYPE      unsigned int
#define __SLONGWORD_TYPE    long int
#define __ULONGWORD_TYPE    unsigned long int

二、使用场景

time_t类型的值如果想在printf中打印,使用格式符PRId64,该格式符定义包含在头文件inttypes.h中。

#include <inttypes.h>

struct timeval current_time;
gettimeofday(&current_time, NULL);
fprintf(stdout, "current time stamp: %" PRId64 "\n", current_time.tv_sec);

标签:__,include,int,C语言,时间,time,define,TYPE,结构
From: https://www.cnblogs.com/phillee/p/17513851.html

相关文章

  • js对时间的操作(秒数转化为时分秒)
    介绍:最近在写项目的时候遇到后台返回的时间是1300秒,考虑到页面展示效果不佳,想到直接改成时分秒的样式,代码如下://秒数转化为时分秒formatSeconds(value){varsecondTime=parseInt(value);//秒varminuteTime=0;//分varhourTime=0;//......
  • Java学习——循环结构
    循环结构while循环do...while循环for循环在Java5中引入了一种主要用于数组的增强型for循环breakcontinue一、while循环while(布尔表达式){ //循环内容只要布尔表达式为true,循环就会一直执行下去我们大多数情况是会让循环停止下来的,我们需要一个让表达式失......
  • 逍遥自在学C语言 | 函数初级到高级解析
    前言函数是C语言中的基本构建块之一,它允许我们将代码组织成可重用、模块化的单元。本文将逐步介绍C语言函数的基础概念、参数传递、返回值、递归以及内联函数和匿名函数。一、人物简介第一位闪亮登场,有请今后会一直教我们C语言的老师——自在。第二位上场的是和我们一......
  • [数据结构]笛卡尔树、ST表、带权并查集
    Cartesiantree(笛卡尔树)1.概念比如拿最小的当根建树,中序遍历是原数组2.性质区间最小值(RMQ),LCA的值,比如上图4和6的LCA是2,表示我们4,6,2这个区间里面的最小值是2找y左边第一个<=y的数就是y往上看第一个向左拐的数3.构造(增量法)对每个前缀考虑我们发现只有右链是......
  • Mysql 日期和时间转换
    https://www.php.cn/faq/523569.html一、MySQL中的日期时间类型在MySQL中,日期时间类型包括DATE、TIME、DATETIME以及TIMESTAMP四种类型。其中,DATE类型表示日期,格式为'YYYY-MM-DD';TIME类型表示时间,格式为'HH:MM:SS';DATETIME类型表示日期和时间,格式为'YYYY-MM-DDHH:MM:SS';TIMESTA......
  • Java 中内置的数据结构
    在计算机领域有八种基本的数据结构,分别为:数组、链表、栈、队列、散列表、树、堆、图,在Java中通过借助这些数据结构的特性封装了一些常用的数据结构类,了解这些数据结构的特性和差异可以帮助我们在编写程序代码的过程中更好的选择合理的数据结构来降低相关算法的空间复杂度和时......
  • 初始C语言(20)指针(2)
    一:野指针1:指针未初始化:#include<stdio.h>intmain(){ int*p;//局部变量未初始化,则被认为是随机值 *p=20; return0;}2:越界访问#include<stdio.h>intmain(){ intarr[10]={0}; int*p=arr; for(inti=0;i<=20;i++)//超出了arr的范围,称为野指针 {......
  • c语言精度升级
    #include<stdio.h>intmain(){chari=128;printf("%d",i+1);return0;} 结果:  10000000 --128 10000001  --补码+1精度升级11111111111111111111111110000001-补码11111111111111111111111110000000-补码-110000000000000000000000001111111-取......
  • AI智慧安监EasyCVR平台长时间运行出现协程高的现象是什么原因?
    EasyCVR视频融合平台基于云边端协同架构,具有强大的数据接入、处理及分发能力,平台支持海量视频汇聚管理,可支持多协议接入,包括市场主流标准协议与厂家私有协议及SDK,如:国标GB28181、RTMP、RTSP/Onvif、海康Ehome、海康SDK、大华SDK、宇视SDK等。有用户反馈,EasyCVR平台向上级联后,运......
  • mysql workbench 从模型导出表结构
    前言本教程,主要讲述,利用mysqlworkbench从数据库模型导出建表语句mysqlworkbench导出建表语句概述mysql生成数据库模型从数据库模型生成建表语句首先,浏览数据库模型导出建表语句导出一个库的建表语句在EER视图中,File—>Export—->forwarengineersqlcreatescript导出整个模型......