日期与时间(C/C++)
C++继承了C语言用于日期和时间操作的结构和函数,使用之前程序要引用<ctime>头文件
有四个与时间相关的类型:clock_t、time_t、size_t、和tm。类型clock_t、size_t、和time_t能够把系统时间和日期表示为某种整数。
结构体tm把时间和日期以C结构的形式保存,tm结构的定义如下:
struct tm {int tm_sec; //秒,正常范围0 ~59,但是允许到61int tm_min; //分 范围 0~59int tm_hour; //小时 0~23int tm_mday; //一月中的第几天int tm_mon; //月 0~11int tm_year; //自1900年起的年数int tm_wday; //一周中的第几天int tm_yday; //一年中的第几天int tm_isdst; //夏令时 }
相关函数:
函数 |
描述 |
time_t time(time_t *time); |
该函数返回系统的当前日历时间。自1970年1月1日以来经过的秒数,如果系统没有时间,返回-1 |
char *ctime(const time_t *time); |
该函数返回一个表示当地时间的字符串指针,字符串形式day month year hours:minutes:seconds year\n\0 |
struct tm *localtime(const time_t *time); |
该函数返回一个指向表示本地时间的tm结构的指针。 |
clock_t clock(void); |
该函数返回程序执行起,处理器时间所使用的时间,如果时间不可用,则返回-1 |
char *asctime(const struct tm *time); |
该函数返回一个指向字符串的指针,字符串包含了time所指向结构中存储的信息,返回的形式为:day month year hours:minutes:seconds year\n\0 |
struct tm *gmtime(const time_t *time); |
该函数返回一个指向time的指针,time为tm结构,用协调世界时(UTC)也被称为格林尼治标准时间(GMT)表示 |
time_t mktime(struct tm *time); |
该函数返回日历时间,相当于time所指向结构中存储的时间 |
double difftime(time_t time2,time_t time1); |
该函数返回time1和time2之间相差的秒数 |
size_t strftime(); |
该函数可用于格式化日期和时间为指定的格式 |
实例:
#include<iostream> #include<ctime> using namespace std;int main() {//基于当前系统日期和时间 初始化0time_t now = time(0);/把now转换成字符串形式char *dt = ctime(&now);cout << "local date and time: " << dt << endl;//把now转化成tm结构tm *gmtm = gmtime(&now);dt = asctime(gmtm);cout << "UTC date and time : " << dt << endl;return 0; }
运行结果:
exbot@ubuntu:~/wangqinghe/C++/time$ ./time
local date and time: Mon Aug 5 14:54:25 2019
UTC date and time : Mon Aug 5 06:54:25 2019
使用结构体tm格式化时间
#include<iostream> #include<ctime> using namespace std;int main() {time_t now = time(0);cout << "from 1970 then the seconds passed : " << now << endl;tm* ltm = localtime(&now);cout << "year : " << 1900 + ltm->tm_year << endl;cout << "month : " << 1 + ltm->tm_mon << endl;cout << "day : " << ltm->tm_mday << endl;cout << "hour : " << ltm->tm_hour << ":";cout << ltm->tm_min << ":";cout << ltm->tm_sec << endl;return 0; }
运行结果:
exbot@ubuntu:~/wangqinghe/C++/time$ ./time1
from 1970 then the seconds passed : 1564988067
year : 2019
month : 8
day : 5
hour : 14:54:27
以20xx-xx-xx xx:xx:xx格式输出结果:
#include<iostream> #include<ctime> #include<cstdlib> #include<cstdio>using namespace std;string Get_Current_Date();int main() {cout << Get_Current_Date().c_str() << endl;return 0; }string Get_Current_Date() {time_t nowtime;nowtime = time(NULL);char tmp[64];strftime(tmp,sizeof(tmp),"%Y-%m-%d %H:%M:%S",localtime(&nowtime));return tmp; }
运行结果:
exbot@ubuntu:~/wangqinghe/C++/time$ ./time2
2019-08-05 15:00:14
转载于:https://www.cnblogs.com/wanghao-boke/p/11305023.html
日期与时间(C/C++)相关推荐
- 【转】C/C++中的日期和时间
头文件 time.h 函数用途 函数名 得到处理器时间 clock 得到时间差 difftime 设置时间 mktime 得到时间 time 得到以ASCII码表示的时间 asctime 得到字符串表 ...
- mysql 日期_「5」学习MySQL日期与时间类型发现:要养成注重细节的习惯
在前面的学习中我们提到过字段类型这个概念,本篇的主题就是来讲一种常用而相对复杂的类型:日期与时间. MySQL中表示日期与时间的数据类型有很多种,但主要的不外乎下面五种: 记住上面表中的"范 ...
- python正则取字符串日期_python 正则表达式获取字符串中所有的日期和时间
提取日期前的处理 1.处理文本数据的日期格式统一化 text = "2015年8月31日,衢州元立金属制品有限公司仓储公司(以下简称元立仓储公司)成品仓库发生一起物体打击事故,造成直接经济损 ...
- linux7设置时间,CentOS 7 设置日期和时间
现代操作系统分为以下两种类型的时钟: 实时时钟(Real-Time Clock,RTC),通常称为硬件时钟(一般是系统主板上的集成电路),它完全独立于操作系统的当前状态,即使在计算机关闭时也能运行. ...
- Sql Server函数全解(四)日期和时间函数
阅读目录 1.获取系统当前日期的函数getDate(); 2.返回UTC日期的函数UTCDATE() 3.获取天数的函数DAY(d) 4.获取月份的函数MONTH(d) 5.获取年份的函数YEAR(d ...
- Python学习笔记.OS学习笔记 OS操作系统(operating system)(三) 日期和时间
日期和时间: 好多库函数: datetime time calendar dateutil ...and so on 日期表示的二义性,很烦人! 1/6/2010 你不知道到底是2010年的1月6日, ...
- java中日期的数据类型是啥_用于存储日期和时间的最合适的SQL和Java数据类型
使用以下格式处理日期和时间的最合适的MySQL和Java数据类型是什么:yyyy.MM.dd hh:mm:ss 在持久层(jdbc类型)中使用的相应Java类型是java.sql.Timestamp. ...
- 日期、时间库使用备注
日期.时间库 c/c++ 标准库 clock():返回程序消耗处理器时间 示例: /* clock example: frequency of primes */ #include <stdio ...
- C++中的日期和时间
1.C++中的时间和日期 C++标准库没有提供所谓的日期类型,C++继承了C语言用于日期和时间操作的结构和函数.为了使用日期和时间相关的函数和结构,需要在C++程序中引用"ctime&quo ...
- pandas使用max函数和min函数计算dataframe日期(时间)数据列中最大日期和最小日期对应的数据行(maximum and minimum date or time row)
pandas使用max函数和min函数计算dataframe日期(时间)数据列中最大日期和最小日期对应的数据行(maximum and minimum date or time row in data ...
最新文章
- 节省3500万的背后,运维如何兼顾成本与效率?
- linux内核I2C子系统学习(三)
- SAP ERP差异来源和差异处理
- 用FFmpeg编码h264视频介绍
- 假期周进度总计(四)
- 机器学习中应用到的各种距离介绍(附上Matlab代码)
- 《实变函数简明教程》,P78,第16题(依测度收敛 推导 依测度收敛,几乎处处小于 推导 几乎处处小于)
- python 飞机大战爆炸效果_Pygame飞机大战为什么飞机与敌机碰撞后不再有图片动态切换效果...
- JTA transaction unexpectedly rolled back (maybe due to a timeout)
- python实验--文字小游戏(小黑屋)
- 以技术入股物流细分领域,是对赌还是协同发展?--专访握物流CEO欧阳铭
- [luogu]P1852跳跳棋
- CMMI-配置管理(CM)
- 非常好用的开源矢量地图切片工具
- 天气预报API及城市代码[最详细]
- Ubuntu 硬盘”分区“图文教程
- 用计算机弹出生僻字的歌,抖音生僻字是什么歌?抖音生僻字歌词注音完整版
- 2016百度之星总结帖
- 机器人建模----运动学模型及代码实现
- Jmeter压力测试案例