`
bachmozart
  • 浏览: 111364 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux 时间函数使用备忘

阅读更多
学了忘,忘了还得学,简单记录下

1. time_t time(time_t *tloc);
time函数返回从1970年1月1日0点以来的秒数.存储在time_t结构之中

把 这个printf("%ld",time(0)) 保存编译
加到watch -n 1 后面,看看效果

2.int gettimeofday(struct timeval *tv, struct timezone *tz);

头文件:#include <sys/time.h>

其中涉及结构体定义如下
struct timeval {
    time_t      tv_sec;     /* seconds */
    suseconds_t tv_usec;    /* microseconds */
};

tz一般可以为NULL,时间结果保存在timeval结构体中,例子:
#include <stdio.h>
#include <sys/time.h>
int main(int argc,char **argv){
  struct timeval tv;
  gettimeofday(&tv,NULL);
  printf("%ld\n",(&tv)->tv_sec);
  printf("%ld\n",(&tv)->tv_usec);
}

使用 watch -n 1 查看结果

涉及的宏定义:

#define timerisset(tvp)\
        ((tvp)->tv_sec || (tvp)->tv_usec)
#define timercmp(tvp, uvp, cmp)\
        ((tvp)->tv_sec cmp (uvp)->tv_sec ||\
        (tvp)->tv_sec == (uvp)->tv_sec &&\
        (tvp)->tv_usec cmp (uvp)->tv_usec)
#define timerclear(tvp)\
        ((tvp)->tv_sec = (tvp)->tv_usec = 0)


3. struct tm*gmtime(const time_t*timep);

头文件:#include <time.h>
涉及结构体:
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;
};

int tm_sec 代表目前秒数,正常范围为0-59,但允许至61秒
int tm_min 代表目前分数,范围0-59
int tm_hour 从午夜算起的时数,范围为0-23
int tm_mday 目前月份的日数,范围01-31
int tm_mon 代表目前月份,从一月算起,范围从0-11
int tm_year 从1900 年算起至今的年数
int tm_wday 一星期的日数,从星期一算起,范围为0-6
int tm_yday 从今年1月1日算起至今的天数,范围为0-365
int tm_isdst 日光节约时间的旗标
此函数返回的时间日期未经时区转换,而是UTC时间。

例子:

#include <time.h>
#include <stdio.h>
int main(int argc,char **argv){
  struct tm *tm;
  time_t now=time(NULL);
  tm=gmtime(&now);
  printf("%d\n",tm->tm_year);
  printf("%d\n",tm->tm_mon);
  printf("%d\n",tm->tm_mday);
}
分享到:
评论

相关推荐

    使用GTK 2开发Linux平台上的备忘录程序.pdf

    在本文中,我们将探讨如何使用GTK 2开发一款针对Linux操作系统的备忘录程序。GTK+2是一种广泛使用的开源图形用户界面构建工具包,尤其在GNOME桌面环境中得到广泛应用。由于Linux平台上缺少类似Windows的便捷提醒软件...

    linux-memo-Linux备忘手册

    6. **脚本编程**:掌握Bash shell的基础知识,编写简单的shell脚本,熟悉条件判断、循环结构以及函数的使用。 7. **系统监控**:理解系统资源的查看,如内存(`free`)、CPU(`top`)、磁盘空间(`df`)等,以及...

    linux备忘手册分享

    Linux备忘手册分享 在IT领域,Linux是一个广泛使用的开源操作系统,它以其稳定性和灵活性而备受推崇。Linux系统是基于Unix的设计理念,适用于服务器、桌面环境以及嵌入式设备等多种平台。本备忘手册旨在帮助用户更...

    Linux 备忘手册.zip

    7. **shell脚本编程**:`bash`是默认的Linux shell,学习编写简单的shell脚本可以帮助自动化日常任务,例如`for`循环、条件语句、函数等。 8. **系统信息和日志**:`uname`, `whoami`, `date`, `free`, `df`, `...

    程序员Linux备忘手册linux-memo-master.zip

    《程序员Linux备忘手册》是一份专为程序员设计的实用指南,旨在帮助开发者在Linux环境中高效工作。这个压缩包“linux-memo-master.zip”包含了丰富的Linux相关知识,涵盖了从基础命令到高级操作的各个方面,是程序员...

    个人备忘录

    为了满足不同用户的需求,个人备忘录系统应考虑跨平台兼容性,如Windows、MacOS和Linux等。这可能需要采用如Java或Python等跨平台开发语言,或者利用跨平台框架如 Electron 进行开发。 总结来说,个人备忘录系统的...

    Linux命令很多。一下子记不住,强背也记不长久。所以我就先到一个办法。把每天新学到的命令放到这篇日志里面。方便以后查看,做个小小的备忘录。呵呵,what a good idea!

    Linux作为一款功能强大且广泛使用的操作系统,其命令行界面提供了丰富的工具和指令,用于系统管理、软件开发、网络配置等多方面的工作。然而,面对众多的命令,初学者往往会觉得难以记忆和掌握。为此,创建个人的...

    MEMO:工作备忘录

    Shell,特别是Linux或Unix系统的Bash Shell,是命令行界面的交互式解释器,用户可以通过它来执行系统命令、编写脚本。Shell脚本是一种强大的工具,可以自动化重复性的任务,提高工作效率。例如,在“MEMO-main”这个...

    Linux Kernel学习笔记

    用于提高内核启动效率,减少不必要的计算和初始化时间。 6. **访问内核参数的接口**: 提供了一种方式让内核模块获取或设置内核启动时的参数。 7. **内核初始化选项**: 通过配置文件调整内核编译时的特性,如...

    androidMTK修改备忘

    - 修改`private void revertToNitz()`方法,使其在没有自动时间设置的情况下不再尝试使用NITZ协议,而是使用SNTP客户端获取时间。 - 需要在方法中增加对`SntpClient`类的实例化及调用其`startService`方法,以实现...

    羽枫云备忘Symbain版源代码

    【描述】提到“羽枫云备忘”能够实现跨平台的备忘功能,涵盖了手机(Symbian)、Windows和Linux。这暗示了该应用采用了多平台兼容的技术,可能包括跨平台编程框架,如Qt或Java ME,或者是利用Web服务来同步数据,...

    linux内核调试分析指南

    linux内核调试分析指南 linux内核调试分析指南--上篇 本文档已经转到下面的网址,位于zh-kernel.org的文档停止更新,请访问新网址 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ...私人备忘

    Linux应用程序开发_基础知识

    在Linux程序开发基础中,理解进程状态、文件处理、环境变量、时间管理、用户信息和日志信息对于编写系统级别的程序至关重要。例如,进程状态包括运行、就绪、阻塞等,而文件处理涉及打开、关闭、读取和写入文件。 ...

    能开机自动启动的日程备忘软件

    这涉及到事件驱动编程模型,其中事件(在这里是时间到达)触发处理函数。 3. **用户界面设计**:为了呈现日程和提醒,软件需要一个直观的用户界面,让用户可以方便地添加、编辑和查看日程。这可能包括日期选择器、...

    备忘单:我的备忘单,Symfony,Go,Python,MySQL,Twig,Doctrine,Nginx,ElasticSearch,TiDB,Linux等

    备忘单 :memo:基础和常用基础知识点symfony对Twig的扩展控制器中的快捷方法文件处理的帮助器Json响应及参数设置流响应 Twig相关嫩枝基础Twig扩展示例Twig来自相关的函数与变量Twig函数用法示例控制树枝标签使用示例...

    编程备忘单:编程备忘单(Python,Bash,Haskell ...)

    3. 函数:定义函数使用def关键字,可以有默认参数和可变参数。return语句用于返回函数结果。 4. 模块和包:Python通过import导入模块,使用from...import选择性导入。pip工具用于安装和管理外部库。 5. 错误与异常...

    大量的备忘单:我大量的备忘单(编码,备忘,引脚排列,命令列表等)的一部分

    备忘单可能涵盖控件使用、事件处理、窗体设计等。 - **Pentesting**: 也就是渗透测试,备忘单可能包括漏洞扫描、入侵检测、社会工程学等安全测试技术。 6. **颜色和安全**: - **颜色**:可能涉及HTML/CSS颜色...

    备忘单:各种主题备忘单的集合

    1. **编程语言备忘单**:例如Python、Java、C++等,可能包括语法速查、常用函数、编程模式等。 2. **Web开发**:HTML、CSS、JavaScript的基本语法和框架如React、Vue、Angular的相关知识。 3. **数据库管理**:SQL...

    Android备忘录记事本Shuffle源代码

    Android是一种基于Linux内核的开源操作系统,主要应用于移动设备,如智能手机和平板电脑。开发者通常使用Java语言和Android Studio进行应用程序的开发。在这个项目中,虽然描述中提到的是Java和Eclipse,但鉴于...

    My-Cheatsheets-:一些备忘单

    1. **编程语言备忘单**:如Python、Java、C++等,包括基本语法、常用函数、错误处理等。 2. **操作系统备忘单**:如Linux,可能包含常用的终端命令、系统管理、文件操作等内容。 3. **数据库备忘单**:SQL基础查询...

Global site tag (gtag.js) - Google Analytics