表示时间的三种类型

  1. 日历时间:从一个时间点到现在的秒数,用time_t表示
  2. 始终滴答时间:从进程启动到现在时钟的滴答数(每秒一般包含1000个)。用clock_t表示
  3. 分解时间:分解的数据结构如下。用tm表示

从计算机里获得时间的方法

  1. tim_t time(time_t *time),从某一时间到现在的秒数,一般问1970年1月1日午夜
  2. clock_t clock(void),从进程启动到现在累计的始终滴答数
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
time_t times = time(NULL);
const clock_t clocks = clock();
cout << "times:" << times << endl;
cout << "clocks:" << clocks << endl; cout << "-------------------" << endl;
const time_t times2 = time(&times);
cout << "times2:" << times2 << endl;
}

结果

三种时间转换函数

  1. struct tm* gmtime(const time_t* time)
  2. struct tm* localtime(const time_t* time)
  3. time_t mktime(struct tm* ptm)

时间日期数据个格式化输出

  1. char* asctime(const struct tm* tmptr)  周几 月份数 日数 小时数:分钟数:秒钟数 年份数
  2. char* ctime(const time_t* time)  周几 月份数 日数 小时数:分钟数:秒钟数 年份数

对时间的操作

double difftime(time_t time2, time_t time1)

案例

#include <iostream>
#include <ctime>
using namespace std; int main()
{
const time_t t = time(NULL);
cout << "second from (1970.01.01:00:00)" << t << endl;
tm* current_time = localtime(&t); cout << "year:" << + current_time->tm_year << endl;
cout << "month:" << + current_time->tm_mon << endl; cout << "=--------------=" << endl;
cout << "day of year:" << current_time->tm_yday << endl;
cout << "day of month:" << current_time->tm_mday << endl;
cout << "day of week:" << current_time->tm_wday << endl;
cout << "=--------------=" << endl; cout << "hour:" << current_time->tm_hour << endl;
cout << "minute:" << current_time->tm_min << endl;
cout << "second:" << current_time->tm_sec << endl;
cout << "------------" << endl;
cout << "time:" << ctime(&t) << endl;
cout << "time:" << asctime(current_time) << endl; }

结果

参考

time.h(维基)

【c】time.h的更多相关文章

  1. 【CodeForces】914 H. Ember and Storm's Tree Game 动态规划+排列组合

    [题目]H. Ember and Storm's Tree Game [题意]Zsnuoの博客 [算法]动态规划+排列组合 [题解]题目本身其实并不难,但是大量干扰因素让题目显得很神秘. 参考:Zsn ...

  2. 【一】 sched.h

    第一个数据结构体是 task_struct ,这个数据结构被内核用来表示进程,包含其所有信息. 定义于文件 include/linux/sched.h 中,先看看其完整定义 struct task_s ...

  3. 【转】 jni.h头文件详解(二)

    原文网址:http://blog.csdn.net/shaohuazuo/article/details/42932813 作者:左少华 博客:http://blog.csdn.net/shaohua ...

  4. 【转】stropts.h: No such file or directory – How to Fix

    原文地址:stropts.h: No such file or directory – How to Fix 作者:xjc2694 It is a known issue that modern Li ...

  5. 【转载】limits.h

    limits.h专门用于检测整型数据数据类型的表达值范围. <limits.h>主要提供对整型和字符型范围的限制的宏,同样没有指定类型和函数的定义. 1.整型宏如下表: 2.字符型宏如下表 ...

  6. 【图像处理】DVR H.264视频编码基本知识

    视频编码技术基本是由ISO/IEC制定的MPEG-x和ITU-T制定的H.26x两大系列视频编码国际标准的推出.从H.261视频编码建议,到 H.262/3.MPEG-1/2/4等都有一个共同的不断追 ...

  7. 【操作说明】全能型H.265播放器如何使用?

    本播放器集成了公司业务的接口,包含了实播,回放,云台控制和回放速度控制,截图和全屏功能可以根据type直接初始化接口地址如果是第三方业务对接,也可以单独配置接口地址 正确使用H.265播放器需要按以下 ...

  8. 【转载】OpenCV 摄像头控制

    参考:[OpenCV] -- 简单摄像头操作 - 代码人生 - 博客频道 - CSDN.NET http://blog.csdn.net/qiurisuixiang/article/details/8 ...

  9. 伸展树的基本操作——以【NOI2004】郁闷的出纳员为例

    前两天老师讲了伸展树……虽然一个月以前自己就一直在看平衡树这一部分的书籍,也仔细地研读过伸展树地操作代码,但是就是没写过程序……(大概也是在平衡树的复杂操作和长代码面前望而生畏了)但是今天借着老师布置 ...

随机推荐

  1. require.js入门指南(一)

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  2. Teradata中fastload使用

    Teradata Fastload Utility 是teradata数据库中一个基于命令行的快速load大量数据到一个空表的工具. 数据可以从以下途径被load: 1) Disk 或 tape; 2 ...

  3. EditorWindow 和MenuItem

    using UnityEngine; using System.Collections; using UnityEditor; public class ClipEventEditor : Edito ...

  4. VBS基础篇 - wscript 对象

    一.wscript对象 描述:提供对 Windows 脚本宿主对象模型根对象的访问.详述:WScript 对象是 Windows 脚本宿主对象模型层次结构的根对象.它可在任何脚本文件中使用,不需要特定 ...

  5. 如何自定义Liferay 7 portal的Log in登录界面

    前提: 1. Liferay portal 7 2. Liferay IDE 3.0.1 Liferay现有的工具中提供了很多修改portal的模板,以满足开发者的各种自定义需求. 修改的原理是利用M ...

  6. ruby 格式化当前日期时间

    ruby 格式化当前日期时间 ruby 用Time类获取当前时间. t = Time.new puts t 可以看到输出的是(我现在运行的时间): Sat Jan 29 10:45:22 +0800 ...

  7. C#在Winform中改变Textbox高度三种方法

    最近在做C# Winform项目,需要有一个能动态调整大小的Textbox,并且要是单行的.试了几次,单行模式的Textbox不能直接改高度.于是搜索了一下,整理出几个改变高度的方法. 1.将Text ...

  8. 工程移除CocoaPods依赖库

    http://zanderzhang.gitcafe.io/2015/09/26/工程移除CocoaPods依赖库/ 点这里--->CocoaPods安装和使用教程 当我们工程安装很多第三方开源 ...

  9. mvc异步表单遇到的问题

    1,mvc异步表单遇到的问题    问题:使用jqury easy ui 时提交异步数据不能请求到服务器   解决办法:经过细心调试和检测,发现jqury的加载顺序放在了easy ui之后,所以首先加 ...

  10. android禁止ScrollView自动滚动

    当Scrollview嵌套listview,或者子View的内容过多时,当内容加载完成后,ScrollView中内容的长度会发生改变,ScrollView会自动往下滚动,解决办法:在ScollView ...