【c】time.h
表示时间的三种类型
- 日历时间:从一个时间点到现在的秒数,用time_t表示
- 始终滴答时间:从进程启动到现在时钟的滴答数(每秒一般包含1000个)。用clock_t表示
- 分解时间:分解的数据结构如下。用tm表示

从计算机里获得时间的方法
- tim_t time(time_t *time),从某一时间到现在的秒数,一般问1970年1月1日午夜
- 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(×);
cout << "times2:" << times2 << endl;
}
结果

三种时间转换函数
- struct tm* gmtime(const time_t* time)
- struct tm* localtime(const time_t* time)
- time_t mktime(struct tm* ptm)
时间日期数据个格式化输出
- char* asctime(const struct tm* tmptr) 周几 月份数 日数 小时数:分钟数:秒钟数 年份数
- 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的更多相关文章
- 【CodeForces】914 H. Ember and Storm's Tree Game 动态规划+排列组合
[题目]H. Ember and Storm's Tree Game [题意]Zsnuoの博客 [算法]动态规划+排列组合 [题解]题目本身其实并不难,但是大量干扰因素让题目显得很神秘. 参考:Zsn ...
- 【一】 sched.h
第一个数据结构体是 task_struct ,这个数据结构被内核用来表示进程,包含其所有信息. 定义于文件 include/linux/sched.h 中,先看看其完整定义 struct task_s ...
- 【转】 jni.h头文件详解(二)
原文网址:http://blog.csdn.net/shaohuazuo/article/details/42932813 作者:左少华 博客:http://blog.csdn.net/shaohua ...
- 【转】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 ...
- 【转载】limits.h
limits.h专门用于检测整型数据数据类型的表达值范围. <limits.h>主要提供对整型和字符型范围的限制的宏,同样没有指定类型和函数的定义. 1.整型宏如下表: 2.字符型宏如下表 ...
- 【图像处理】DVR H.264视频编码基本知识
视频编码技术基本是由ISO/IEC制定的MPEG-x和ITU-T制定的H.26x两大系列视频编码国际标准的推出.从H.261视频编码建议,到 H.262/3.MPEG-1/2/4等都有一个共同的不断追 ...
- 【操作说明】全能型H.265播放器如何使用?
本播放器集成了公司业务的接口,包含了实播,回放,云台控制和回放速度控制,截图和全屏功能可以根据type直接初始化接口地址如果是第三方业务对接,也可以单独配置接口地址 正确使用H.265播放器需要按以下 ...
- 【转载】OpenCV 摄像头控制
参考:[OpenCV] -- 简单摄像头操作 - 代码人生 - 博客频道 - CSDN.NET http://blog.csdn.net/qiurisuixiang/article/details/8 ...
- 伸展树的基本操作——以【NOI2004】郁闷的出纳员为例
前两天老师讲了伸展树……虽然一个月以前自己就一直在看平衡树这一部分的书籍,也仔细地研读过伸展树地操作代码,但是就是没写过程序……(大概也是在平衡树的复杂操作和长代码面前望而生畏了)但是今天借着老师布置 ...
随机推荐
- linux下gcc编译的参数详细说明
参考网址:1 http://hi.baidu.com/zengzhaonong/item/f1f9383565fa5c302e0f8125 gcc使用方法 汇总 2 http://s99f.blog. ...
- CentOS 6.3 配置 yum
ContOS 配置yum:1.cd /etc/yum.repos.d2.创建个任意目录,将所有文件移动到创建的目录中,除了CentOS-Media.repo3.编辑CentOS-Media.repov ...
- 小甲鱼汇编语言006第二章 寄存器(CPU工作原理)01
http://baidu.ku6.com/watch/09215216064281951074.html?page=videoMultiNeed
- Build Settings
Add Open Scenes 选择一个关卡,使其处于打开状态,在菜单栏选择 File -> Build Settings 打开Build Settings窗口.选择 Add Open Scen ...
- 把NodeJS注册成Windows服务
为了让NodeJS开发的网站能在服务器端正常运行,最好把NodeJS需要运行的代码注册成Windows服务,服务器如果重启也不需要重新去启动NodeJS. 1.编写一个执行NodeJS脚本的bat文件 ...
- python学习小结2:if和while控制语句
if语句 if语句中,代码块是按缩进的空格数量来判断的,也就是说空格数量一致的相邻行会被当作一个代码块,当if的条件成立的时候它就会得到执行. x = 100 if x > 50: print ...
- DB天气app冲刺二阶段第九天
今天是第九天了 不管怎么样也要收尾了赶紧,毕竟不可能做到尽善尽美了,时间不够了所以要把该砍掉的砍点,然后应对下周的大二同学的面试.尽量做好界面的美化工作这是最基本的了.毕竟我一直崇尚的就是UI设计了. ...
- android 开发解密时出现pad block corrupted 错误
情景:在虚拟机上运行正常的,但是到我的真机上就解密失败,出现pad block corrupted ,据说是版本原因:我机器是小米3 最新版的android 4.2 出现问题的代码: privat ...
- Django 学习笔记之二 基本命令
1.新建一个 django project 在Django安装路径下找到django-admin.py文件,我的路径是在C:\Python27\Lib\site-packages\Django-1.1 ...
- 框架优化系列文档:SVN中非版本控制文件忽略上传的设置
对于SVN代码库,只应该上传源代码.资源文件等内容进行版本管理,通常编译后的二进制文件.程序包等生成产物是不应该放到SVN上做版本管理的.因此在svn的客户端工具中设置svn的属性:svn:ignor ...