Linux C时间函数 time_t struct tm

#include

关于时间的类型:

time_t long型,表示从1970年1月1日到现在经过的秒数。

struct tm {

int tm_sec;      /* 秒 – 取值区间为[0,59] */

int tm_min;      /* 分 - 取值区间为[0,59] */

int tm_hour;      /* 时 - 取值区间为[0,23] */

int tm_mday;      /* 一个月中的日期 - 取值区间为[1,31] */

int tm_mon;      /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */

int tm_year;      /* 年份,其值等于实际年份减去1900 */

int tm_wday;      /* 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */

int tm_yday;      /* 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日

};

一般用time_t:定义 time_t now;通过now =time(NULL)返回当前的时间(秒数),time函数形式是“time_t time(time_t*)”,也可以像这样获取“time(&now)”。用户看这个大的Long型数据是没啥意义,一般通过这个函数先后得到时间计算时间差比较方便。srand(unsigned(time(NULL))获取种子的用法运用的就是这个秒数。

想清晰得得到现在的年月日信息,就不能通过这个time_t了,需要用struct tm来显示,而将time_t和struct tm转换的函数就是localtime(time_t*),返回一个struct tm*类型,注意是指针类型。然后可以得到tm中的成员,如上,皆为整形。

如果想直接获取时间的字符串。

用 char * asctime(const struct tm * timeptr);根据struct tm结构

或者用 char* ctime(time_t* t);//根据time_t

输出的形式都是像这样 "Tue Jan  6 13:53:16 2015 "

注意思考为什么我们只需要定义一个struct tm*的指针,并没有申请空间,却可以获取其成员?因为locatime返回指针是一个静态变量的地址。同样asctime也是同样原理。

linux '$^t' 时间,Linux C时间函数 time_t struct tm相关推荐

  1. linux一次系统调用时间,Linux系统调用—时间和日期

    asctime(将时间和日期以字符串格式表示) 相关函数 time,ctime,gmtime,localtime 表头文件 #include 定义函数 char * asctime(const str ...

  2. linux touch更新文件时间,Linux文件时间的查看和修改touch

    1. Linux文件的时间 Linux下文件时间主要有下面三种: 1.1 modification time(mtime) 文件修改时间,即文件内容的修改时,更新这个时间,不包括文件权限和属性的修改. ...

  3. linux循环显示系统时间,Linux shell时间处理大全,值得收藏

    本文汇总了Linux shell中各种时间处理方法,包括时间显示.时间转换.时间设置等等,内含大量示例及输出, 这里记录下来作为备忘,持续更新,禁止转载.内容比较多,可以直接CTRL+F查找. 1. ...

  4. 怎么查看linux自动校验时间,linux校验时间

    一. 基本方法: date -s "2018-09-02 04:23:45" clock -w 把时间写入cmos(一个RAM芯片) hwclock 查看硬件时间 hwclock ...

  5. 各类时间转换(FILETIME,time_t,tm,QDateTime,SystemTime,LocalTime)

    FILETIME转SystemTime和本地系统时间 需要先将FILETIME转为LocalFileTime 再将LocalFileTime 转为SystemTime 即为本地的系统时间 FILETI ...

  6. linux系统起来时间,linux 系统时间调整

    BZOJ 3083: 遥远的国度 [树链剖分 DFS序 LCA] 3083: 遥远的国度 Time Limit: 10 Sec  Memory Limit: 1280 MBSubmit: 3127   ...

  7. time_t、struct tm,ctime各数据类型、函数详解,转换以及跟时间字符串的转换

    time函数与time_t类型 获取当前时间: time_t time(time_t *t); <time.h> #ifndef __TIME_T #define __TIME_T     ...

  8. linux内核时间second,闰秒(leap second)和linux/unix时间

    以前只知道有闰年,最近听说了一个新名词,叫闰秒.因为它造成了我工作中的一个模块的crash,经过不懈的google + wikipedia,终于了解了一二,在这里简单分享一下. 一. 闰秒的由来 在现 ...

  9. linux系统时间获取方式

    Linux 操作系统计算系统时间: 主要函数:time  localtime  gmtime  asctime  ctime  mktime                     difftime ...

最新文章

  1. android socket 简易聊天室 java服务器_利用Socket制作一个简易的Android聊天室
  2. opengl绘制长方体线框_OpenGL 绘制长方体 计算机图形学
  3. [ Luogu 3924 ] 康纳的线段树
  4. gitlab与jenkins的自动化部署(通过webhook与ansible)
  5. 谈谈被大家过于在乎的性能
  6. 【Mysql】纯sql报表
  7. c语言系统主函数流程图,C语言程序设计——成语学习系统
  8. 04_关于元数据,ResultSetMetaData对象以及API方法介绍
  9. Java中StringBuilder的清空方法比較
  10. QML笔记-KeyNavigation的使用(2种例子)
  11. Jquery 触发器之treigger()方法简介
  12. 8 SystemVerilog语言编写UART发送
  13. python安装后如何使用-python运行环境,python安装后如何使用
  14. 使用cmd命令进行运行java(cmd命令输出Hello word)
  15. 【Leetcode】101. 对称二叉树
  16. Python糗百爬虫(精简版)
  17. Android 开发中渐变背景的简单使用
  18. 社科院与杜兰大学金融管理硕士项目——有规划的人生值得期待,你当下的规划是什么呢
  19. 自己动手写一个操作系统——MBR(1)
  20. CNN做时间序列预测_深度学习与时间序列预测

热门文章

  1. grub修复与grub.conf
  2. SAP Control framework
  3. 马化腾内部讲座:让产品自己召唤人
  4. .Net软件UI界面测试自动化--UIAutomation技术
  5. Response.Redirect(x.aspx);跳转后session为null的解决方法
  6. mysql deadlock found when trying to get lock暴力解决
  7. mysql分库分表实战及php代码操作完整实例
  8. linux内核printk调试手段,[Mini2440] 内核调试手段之 printk
  9. 码农和程序员等的差别
  10. sql服务找不到服务器,我找不到SQL服务管理器