Linux获取当前时间

2023-11-15

 

       1. Linux下与时间有关的结构体
        struct timeval
       {  
           int tv_sec;  
           int tv_usec;  
       };  
       其中tv_sec是由凌晨开始算起的秒数,tv_usec则是微秒(10E-6 second)。  

       struct timezone
       {  
           int tv_minuteswest;  
           int tv_dsttime;  
       };  
       tv_minuteswest是格林威治时间往西方的时差,tv_dsttime则是时间的修正方式。  

       struct timespec  
       {  
           long int tv_sec;  
           long int tv_nsec;  
       };  
       tv_nsec是nano second(10E-9 second)。  

       struct tm  
       {  
           int tm_sec;  
           int tm_min;  
           int tm_hour;  
           int tm_mday;  
           int tm_mon;  
           int tm_year;  
           int tm_wday;  
           int tm_yday;  
           int tm_isdst;  
       };  
       tm_sec表「
」数,在[0,61]之间,多出来的两秒是用来处理跳秒问题用的。  
        tm_min表「
」数,在[0,59]之间。  
       tm_hour表「
」数,在[0,23]之间。  
       tm_mday表「
本月第几日 」,在[1,31]之间。  
       tm_mon表「
本年第几月 」,在[0,11]之间。  
       tm_year要加1900表示那一年。  
       tm_wday表「
本第几日 」,在[0,6]之间。  
       tm_yday表「
本年第几日 」,在[0,365]之间,闰年有366日。  
       tm_isdst表是否为「
日光节约时间 」。  

       struct  itimerval
       {
         struct  timeval it_interval;
         struct  timeval it_value;
       };
       it_interval成员表示间隔计数器的初始值,而it_value成员表示间隔计数器的当前值。

        2.获得当前时间
       在所有的UNIX下,都有个time()的函数  
      time_t time(time_t *t);
      这个函数会传回从epoch开始计算起的秒数,如果t是non-null,它将会把时间值填入t中。  

       对某些需要较高精准度的需求,Linux提供了gettimeofday()。  
      int gettimeofday(struct timeval * tv,struct timezone *tz);  
      int settimeofday(const struct timeval * tv,const struct timezone *tz);  

      struct tm格式时间函数  

      struct tm * gmtime(const time_t * t);  
      转换成格林威治时间。有时称为GMT或UTC。  

      struct tm * localtime(const time_t *t);  
      转换成本地时间。它可以透过修改TZ环境变数来在一台机器中,不同使用者表示不同时间。  

      time_t mktime(struct tm *tp);  
      转换tm成为time_t格式,使用本地时间。  

      tme_t timegm(strut tm *tp);  
      转换tm成为time_t格式,使用UTC时间。  

      double difftime(time_t t2,time_t t1);  
      计算秒差。  


      3.文字时间格式函数  

      char * asctime(struct tm *tp);  
      char * ctime(struct tm *tp);  
      这两个函数都转换时间格式为标准UNIX时间格式。  
      Mon May 3 08:23:35 1999  

      ctime一率使用当地时间,asctime则用tm结构内的timezone资讯来表示。  

      size_t strftime(char *str,size_t max,char *fmt,struct tm *tp);  
      strftime有点像sprintf,其格式由fmt来指定。  

      %a : 本第几天名称,缩写。  
      %A : 本第几天名称,全称。  
      %b : 月份名称,缩写。  
      %B : 月份名称,全称。  
      %c : 与ctime/asctime格式相同。  
      %d : 本月第几日名称,由零算起。  
      %H : 当天第几个小时,24小时制,由零算起。  
      %I : 当天第几个小时,12小时制,由零算起。  
      %j : 当年第几天,由零算起。  
      %m : 当年第几月,由零算起。  
      %M : 该小时的第几分,由零算起。  
      %p : AM或PM。  
      %S : 该分钟的第几秒,由零算起。  
      %U : 当年第几,由第一个日开始计算。  
      %W : 当年第几,由第一个一开始计算。  
      %w : 当第几日,由零算起。  
      %x : 当地日期。  
      %X : 当地时间。  
      %y : 两位数的年份。  
      %Y : 四位数的年份。  
      %Z : 时区名称的缩写。  
      %% : %符号。  

      char * strptime(char *s,char *fmt,struct tm *tp);  
      如同scanf一样,解译字串成为tm格式。  

      %h : 与%b及%B同。  
      %c : 读取%x及%X格式。  
      %C : 读取%C格式。  
      %e : 与%d同。  
      %D : 读取%m/%d/%y格式。  
      %k : 与%H同。  
      %l : 与%I同。  
      %r : 读取"%I:%M:%S %p"格式。  
      %R : 读取"%H:%M"格式。  
      %T : 读取"%H:%M:%S"格式。  
      %y : 读取两位数年份。  
      %Y : 读取四位数年份。  

      下面举一个小例子,说明如何获得系统当前时间:
          time_t now;
          struct tm  *timenow;
          char strtemp[255];
      
          time(&now);
          timenow = localtime(&now);

          printf("recent time is : %s \n", asctime(timenow));



FROM: http://blog.chinaunix.net/uid-20322341-id-1705358.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux获取当前时间 的相关文章

  • 漏洞复现- - -CVE-2016-5195 Dirty Cow脏牛提权漏洞

    目录 一 漏洞分析 二 形成原因 三 漏洞检测复现 1 编译poc 文件 2 复现漏洞 四 漏洞修复 方法一 方法二 一 漏洞分析 脏牛 Dirty COW 编号 CVE 2016 5195 是2016年10月18日被曝出的存在于Linux
  • VScode中js文件代码没有高亮问题

    问题 VScode中js文件js代码没有高亮 显示白色 解决方法 文件 gt 首选项 gt 设置 找到setting json 然后注释掉这段代码 重新打开文件 JS代码就有高亮了 白色看着实在别扭
  • python元组 列表 字符串最后一个下标_python字符串列表元组序列操作

    Table of Contents generated with DocToc python系列 字符串 列表 元组的操作 序列的访问及运算符 序列是为满足程序中复杂的数据表示 python支持组合数据类型 可以将一批数据作为一个整体进行数
  • 数据湖:设计更好的架构、存储、安全和数据治理

    问题导读 1 对数据湖有哪些预期 2 数据湖架构如何设计 3 如何做好数据治理工作 4 如何保障数据湖的安全 前言对任何业务来说 数据驱动的结果 预告和对趋势的预测都是必不可少的 今天 在我们所做的每件事中 都能看到某种分析的逻辑在背后 从
  • C语言输出3个整数最大值的案例教程

    思路分析 先比出2个整数的最大值 然后用最大值和第三个整数比较从而求出3个整数的最大值 我们今天用几种办法输出3个整数最大值 方法一 使用if else语句以及输入输出语句来编写 方法二 使用三元运算符以及输入输出语句来编写 方法三 使用自
  • JAVA 泛型的相关知识点

    泛型分为 1 泛型类 2 泛型接口 3 泛型方法 1 泛型类 定义 class Test
  • Python编程技巧和需要注意的地方——Pro

    目录 前言 1 多个大数字相加 2 同时访问多个相互关联的列表 3 访问列表的同时输出对应下标 4 熟练使用 和 5 关于类的get和set方法 6 熟练使用help和dir方法 7 什么时候使用set或dict而不是list 8 默认参数
  • 互联网大厂2021中秋礼盒pk,看完我又酸了……

    作者丨魏宇卓 来源丨运营研究社 ID U quan 马上又要到中秋节啦 每年中秋节 我最喜欢的就是吃着在便利店买的寒酸月饼 围观互联网大厂们在中秋礼盒上互相 battle 今年 大厂的月饼礼盒哪家强呢 我特地挑选了 10 家互联网大厂的中秋
  • 如何一次性批量打印PDF、Word、Excel、PPT和图片 - 文件批量打印工具

    一次性自动批量打印PDF WORD DOC DOCX Excel工作表XLS XLSX CSV PowerPoint PPTX PPT和JPG PNG TIF BMP图像 在日常工作生活中 我们时常需要通过打印机打印文件或照片 打印机都是逐
  • 【Unity Shader】概述以及Diffuse shader和unity5新功能Standard shader

    一 Diffuse shader介绍 Diffuse 即漫反射 可以想象成太阳光照射到某一个粗糙平面时 该平面向四面八方都会反射光线 这些光线中的某些光线会进入我们的眼睛 从而使我们看到这个平面 一个基本的漫反射光照模型 需要包括以下几个部
  • 0 基础 Java 自学之路(2023年最新版)

    目录 一 语言的选择 二 Java学习路线 三 学习资料哪里找 1 Java经典书籍推荐 2 Java经典视频推荐 3 经典博客推荐 四 如何规划时间 五 是否要报培训班 写了10多年的代码 之前做过某东的高级架构师 在技术这条路上跌跌撞撞
  • python-leetCode-给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的两个整数

    给定一个整数数组 nums 和一个目标值 target 请你在该数组中找出和为目标值的 两个 整数 你可以假设每种输入只会对应一个答案 但是 你不能重复利用这个数组中同样的元素 示例 给定 nums 2 7 11 15 target 9 因
  • R语言编写函数

    基本思路参考此文章 http blog csdn net myl1992 article details 44936009 在这片博文中涉及到list相关知识 很受用 http blog csdn net u012543538 articl
  • Hudi 基础入门篇

    Hudi 诞生 Apache Hudi由Uber开发并开源 该项目在2016年开始开发 并于2017年开源 2019年1月进入 Apache 孵化器 且2020年6月称为Apache 顶级项目 目前最新版本 0 9 0版本 Hudi 一开始
  • JSONArray属性值的修改

    之前直接通过生成字符串后进行字符串替换实现的 实际上这里可能会替换调value的值中相同的字符 虽然概率很低 但是鉴于对个人的严格要求 还是严谨地修改了实现方法 主要基于如下的方法 public static JSONObject tran
  • VC++ 文件操作封装类

    头文件声明 SysUtils h pragma once include
  • 什么是模式识别,模式识别概念的基本介绍

    模式识别又常称作模式分类 从处理问题的性质和解决问题的方法等角度 模式识别分为有监督的分类 Supervised Classification 和无监督的分类 Unsupervised Classification 两种 模式还可分成抽象的
  • Python入门之类和对象

    对象 属性 方法 对象是类的实例 换句话说 类主要定义对象的结构 然后我们以类为模板创建对象 类不但包含方法定义 而且还包含所有实例共享的数据 封装 信息隐蔽技术 我们可以使用关键字 class 定义 Python 类 关键字后面紧跟类的名
  • TextureTailor自制Plist碎图工具

    最近在开发小游戏 美术资源是个令人头疼的问题 故搜寻了一些网上的资源文件 但是总被plist格式和png图片格式所困扰 在参考了一些大佬的代码后自制了一个符合我个人需求的小工具 先放源码地址 TextureTailor 再来预览一下效果 界

随机推荐

  • linux服务篇-RSYNC数据备份

    Rsync remote sync 是UNIX及类UNIX平台下一款神奇的数据镜像备份软件 它不像FTP或其他文件传输服务那样需要进行全备份 Rsync可以根据数据的变化进行差异备份 从而减少数据流量 提高工作效率 你可以使用它进行本地数据
  • 关于深度学习中的分类器

    因为之前一直都是用caffe做图像去噪 增强方面的工作 没太接触分类 上个学习会上通过报告学习了下关于分类的相关基础知识 为接下来分类的相关工作研究奠定下基础 基础之分类器 1 SVM 线性核SVM 一般应用于多分类 分类的结果 如3分类
  • 开关电源环路学习笔记(6)-开关变换器传递函数Gvd(s)推导过程

    终于到了最关键的环节 也是最难的环节 如何求出开关级的传递函数 也就是下图这一级 哎 不得不说 太难了 不过没办法 先前夸下海口 跟兄弟们说我要把环路搞清楚 现在搞不动也得搞啊 这一级之所以这么难 主要是有开关元器件 本身是非线性的 当然了
  • ip命令网络配置

    Linux的ip命令和ifconfig类似 但前者功能更强大 并旨在取代后者 使用ip命令 只需一个命令 你就能很轻松地执行一些网络管理任务 ifconfig是net tools中已被废弃使用的一个命令 许多年前就已经没有维护了 Linux
  • 华为方舟编译器开源项目编译第四弹——自带Java测试用例的编译

    在编译Java测试用例时的错误提示信息 javac option bootclasspath not allowed with target 1 9 Usage javac
  • 计算机硬件基础——第五章:指令系统(二)

    文章目录 指令 要求计算机执行特定操作的命令 是程序员智慧计算机工作的最小单位 指令系统 一台计算机全部指令的集合 也称为计算机指令集 80X86 CPU的常用指令 逻辑运算指令 用来对字或字节按位进行逻辑运算 逻辑与AND 指令 逻辑或O
  • 计算机网络基础知识(非常详细)从零基础入门到精通,看完这一篇就够了

    目录 一 计算机网络的概念 二 计算机网络的功能 三 计算机网络的组成 1 组成部分 2 工作方式 3 功能组成 四 计算机网络的分类 1 按分布范围分 2 按使用者分 3 按交换技术分 4 按拓扑结构分 5 按传输技术分 五 标准化工作
  • WAF识别软件(WAFW00F)以及WAF绕过

    责任声明 本文章仅供学习交流使用 如有利用进行非法行为 上传者不承担任何责任 使用者后果自负 WAF防护分析 什么是WAF Web应用防护系统分为两种 软件与硬件 安全公司内部的为硬件 个人或小企业为软件 无论哪一种都是为web提供安全 存
  • 有效数字

    有效数字 数学上用 四舍五入 的法则将一个位数很多的数表示成一定位数的数 如果一个近似数的误差限是它某一位的半个单位 则称它准确到这一位 即该位数字是准确的 有效的和可靠的 并且 从该位起直到前面第一个非零数字为止的所有数字都称为有效数字
  • mysql ERROR: Error 1005: Can't create table (errno: 121)

    Q Executing SQL script in server ERROR Error 1005 Can t create table aquaticstar link errno 121 A I searched quickly for
  • 转:CDH5 集群安装教程

    一 虚拟机的安装和网络配置 1 虚拟机安装 2 安装CentOS 6 5 64位版本 桥接模式 Master 内存 3G 硬盘容量40G 4核 Slave 内存2G 硬盘容量30G 2核 3 网络配置 master slave 1 进入ro
  • 时序预测

    时序预测 MATLAB实现GM 1 1 灰色时间序列预测 目录 时序预测 MATLAB实现GM 1 1 灰色时间序列预测 预测效果 基本介绍 建模步骤 程序设计 学习总结 参考资料 预测效果 基本介绍 GM 1 1 模型的预测原理是 对某一
  • Linux修改主机名永久生效

    Linux centos7非此方法 修改主机名 永久生效 linux查看主机名 查看主机命令 root linux epm2 hostname localhost localdomain localhost localdomain即为默认的
  • 如何发布tms xdata server(sqlite)

    1 在fdconnection中将数据库路径设置成 employee db即可 2 在云服务上创建一个文件夹如d sparkle文件夹 3 复制exe sqlite3 dll employee db 数据库 运行 4 结果
  • html表单填写保存,如何从HTML表单读取输入并将其保存在文件中-Golang

    我试图建立一个非常简单的Web服务器 用户可以在其中访问站点并写入一个字符串和一个整数 然后我想保存这两个输入 我的想法是将其保存到一个文本文件中 该文件也可以显示在浏览器 textfile 我不知道关于SO的规范是多少代码可以发布 但是到
  • 【沧海拾昧】MATLAB/Simulink仿真的基本操作

    C0402 沧海茫茫千钟粟 且拾吾昧一微尘 沧海拾昧集 CuPhoenix 阅前敬告 沧海拾昧集仅做个人学习笔记之用 所述内容不专业不严谨不成体系 如有问题必是本集记录有谬 切勿深究 目录 一 新建Simulink仿真 二 几种常用的模块和
  • 【Android】【移动应用开发】APP案列

    1 通讯录功能实现 页面布局代码如下 activity main xml 主界面布局代码
  • 职场上会用Python的人到底有多牛?

    这个人工智能崛起的时代 似乎人人都在聊 Python 从硬件的芯片层面 物联网 一路杀到云端 大数据 人工智能这些炙手可热的领域 无论什么领域 只要它需要编程 都会有Python的身影 下面就和大家一起来聊聊 Python 的好 到底它牛在
  • python3 tkinter 刷新标签图片

    coding utf 8 import tkinter as tk import os class RuKou tk Frame 登入的入口 将要做成运行时显示接口所返回的图片并展示 def init self master None 在这
  • Linux获取当前时间

    1 Linux下与时间有关的结构体 struct timeval int tv sec int tv usec 其中tv sec是由凌晨开始算起的秒数 tv usec则是微秒 10E 6 second struct timezone int