C++时间获取
http://net.pku.edu.cn/~yhf/linux_c/function/04.html
|
|
asctime(将时间和日期以字符串格式表示) |
|
相关函数
|
time,ctime,gmtime,localtime |
|
表头文件
|
#include<time.h> |
|
定义函数
|
char * asctime(const struct tm * timeptr); |
|
函数说明
|
asctime()将参数timeptr所指的tm结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。此函数已经由时区转换成当地时间,字符串格式为:“Wed Jun 30 21:49:08 1993\n” |
|
返回值
|
若再调用相关的时间日期函数,此字符串可能会被破坏。此函数与ctime不同处在于传入的参数是不同的结构。 |
|
附加说明
|
返回一字符串表示目前当地的时间日期。 |
|
范例
|
#include <time.h> main() { time_t timep; time (&timep); printf(“%s”,asctime(gmtime(&timep))); } |
|
执行
|
Sat Oct 28 02:10:06 2000 |
|
|
ctime(将时间和日期以字符串格式表示) |
|
相关函数
|
time,asctime,gmtime,localtime |
|
表头文件
|
#include<time.h> |
|
定义函数
|
char *ctime(const time_t *timep); |
|
函数说明
|
ctime()将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。此函数已经由时区转换成当地时间,字符串格式为“Wed Jun 30 21 :49 :08 1993\n”。若再调用相关的时间日期函数,此字符串可能会被破坏。 |
|
返回值
|
返回一字符串表示目前当地的时间日期。 |
|
范例
|
#include<time.h> main() { time_t timep; time (&timep); printf(“%s”,ctime(&timep)); } |
|
执行
|
Sat Oct 28 10 : 12 : 05 2000 |
|
|
gettimeofday(取得目前的时间) |
|
相关函数
|
time,ctime,ftime,settimeofday |
|
表头文件
|
#include <sys/time.h> #include <unistd.h> |
|
定义函数
|
int gettimeofday ( struct timeval * tv , struct timezone * tz ) |
|
函数说明
|
gettimeofday()会把目前的时间有tv所指的结构返回,当地时区的信息则放到tz所指的结构中。 timeval结构定义为: struct timeval{ long tv_sec; /*秒*/ long tv_usec; /*微秒*/ }; timezone 结构定义为: struct timezone{ int tz_minuteswest; /*和Greenwich 时间差了多少分钟*/ int tz_dsttime; /*日光节约时间的状态*/ }; 上述两个结构都定义在/usr/include/sys/time.h。tz_dsttime 所代表的状态如下 DST_NONE /*不使用*/ DST_USA /*美国*/ DST_AUST /*澳洲*/ DST_WET /*西欧*/ DST_MET /*中欧*/ DST_EET /*东欧*/ DST_CAN /*加拿大*/ DST_GB /*大不列颠*/ DST_RUM /*罗马尼亚*/ DST_TUR /*土耳其*/ DST_AUSTALT /*澳洲(1986年以后)*/ |
|
返回值
|
成功则返回0,失败返回-1,错误代码存于errno。附加说明EFAULT指针tv和tz所指的内存空间超出存取权限。 |
|
范例
|
#include<sys/time.h> #include<unistd.h> main(){ struct timeval tv; struct timezone tz; gettimeofday (&tv , &tz); printf(“tv_sec; %d\n”, tv,.tv_sec) ; printf(“tv_usec; %d\n”,tv.tv_usec); printf(“tz_minuteswest; %d\n”, tz.tz_minuteswest); printf(“tz_dsttime, %d\n”,tz.tz_dsttime); } |
|
执行
|
tv_sec: 974857339 tv_usec:136996 tz_minuteswest:-540 tz_dsttime:0 |
|
|
gmtime(取得目前时间和日期) |
|
相关函数
|
time,asctime,ctime,localtime |
|
表头文件
|
#include<time.h> |
|
定义函数
|
struct tm*gmtime(const time_t*timep); |
|
函数说明
|
gmtime()将参数timep 所指的time_t 结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回。 结构tm的定义为 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时间。 |
|
返回值
|
返回结构tm代表目前UTC 时间 |
|
范例
|
#include <time.h> main(){ char *wday[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"}; time_t timep; struct tm *p; time(&timep); p=gmtime(&timep); printf(“%d%d%d”,(1900+p->tm_year), (1+p->tm_mon),p->tm_mday); printf(“%s%d;%d;%d\n”, wday[p->tm_wday], p->tm_hour, p->tm_min, p->tm_sec); } |
|
执行
|
2000/10/28 Sat 8:15:38 |
|
|
localtime(取得当地目前时间和日期) |
|
相关函数
|
time, asctime, ctime, gmtime |
|
表头文件
|
#include<time.h> |
|
定义函数
|
struct tm *localtime(const time_t * timep); |
|
函数说明
|
localtime()将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回。结构tm的定义请参考gmtime()。此函数返回的时间日期已经转换成当地时区。 |
|
返回值
|
返回结构tm代表目前的当地时间。 |
|
范例
|
#include<time.h> main(){ char *wday[]={“Sun”,”Mon”,”Tue”,”Wed”,”Thu”,”Fri”,”Sat”}; time_t timep; struct tm *p; time(&timep); p=localtime(&timep); /*取得当地时间*/ printf (“%d%d%d ”, (1900+p->tm_year),( l+p->tm_mon), p->tm_mday); printf(“%s%d:%d:%d\n”, wday[p->tm_wday],p->tm_hour, p->tm_min, p->tm_sec); } |
|
执行
|
2000/10/28 Sat 11:12:22 |
|
|
mktime(将时间结构数据转换成经过的秒数) |
|
相关函数
|
time,asctime,gmtime,localtime |
|
表头文件
|
#include<time.h> |
|
定义函数
|
time_t mktime(strcut tm * timeptr); |
|
函数说明
|
mktime()用来将参数timeptr所指的tm结构数据转换成从公元1970年1月1日0时0分0 秒算起至今的UTC时间所经过的秒数。 |
|
返回值
|
返回经过的秒数。 |
|
范例
|
/* 用time()取得时间(秒数),利用localtime() 转换成struct tm 再利用mktine()将struct tm转换成原来的秒数*/ #include<time.h> main() { time_t timep; strcut tm *p; time(&timep); printf(“time() : %d \n”,timep); p=localtime(&timep); timep = mktime(p); printf(“time()->localtime()->mktime():%d\n”,timep); } |
|
执行
|
time():974943297 time()->localtime()->mktime():974943297 |
|
|
settimeofday(设置目前时间) |
|
相关函数
|
time,ctime,ftime,gettimeofday |
|
表头文件
|
#include<sys/time.h> #include<unistd.h> |
|
定义函数
|
int settimeofday ( const struct timeval *tv,const struct timezone *tz); |
|
函数说明
|
settimeofday()会把目前时间设成由tv所指的结构信息,当地时区信息则设成tz所指的结构。详细的说明请参考gettimeofday()。注意,只有root权限才能使用此函数修改时间。 |
|
返回值
|
成功则返回0,失败返回-1,错误代码存于errno。 |
|
错误代码
|
EPERM 并非由root权限调用settimeofday(),权限不够。 EINVAL 时区或某个数据是不正确的,无法正确设置时间。 |
|
|
time(取得目前的时间) |
|
相关函数
|
ctime,ftime,gettimeofday |
|
表头文件
|
#include<time.h> |
|
定义函数
|
time_t time(time_t *t); |
|
函数说明
|
此函数会返回从公元1970年1月1日的UTC时间从0时0分0秒算起到现在所经过的秒数。如果t 并非空指针的话,此函数也会将返回值存到t指针所指的内存。 |
|
返回值
|
成功则返回秒数,失败则返回((time_t)-1)值,错误原因存于errno中。 |
|
范例
|
#include<time.h> mian() { int seconds= time((time_t*)NULL); printf(“%d\n”,seconds); } |
|
执行
|
9.73E+08 |
|
|
C++时间获取的更多相关文章
- Linux网络编程(简单的时间获取服务器)
1.一个简单的服务器时间获取程序 服务器和客户端采用UDP通信的方式,来编写一个简单的时间获取应用. 把过程大致理顺一下,首先是服务器端的编写,使用的是迭代的方式,没有并发 先创建一个socket而后 ...
- C#根据当前时间获取周,月,季度,年度等时间段的起止时间
最近有个统计分布的需求,需要按统计本周,上周,本月,上月,本季度,上季度,本年度,上年度等时间统计分布趋势,所以这里就涉及到计算周,月,季度,年度等的起止时间了,下面总结一下C#中关于根据当前时间获取 ...
- 根据日期字符串获取星期几,日期获取星期,时间获取星期,js获取星期
根据日期字符串获取星期几,日期获取星期,时间获取星期,js获取星期 >>>>>>>>>>>>>>>>&g ...
- UNIX网络编程卷1 时间获取程序server TCP 协议相关性
本文为senlie原创.转载请保留此地址:http://blog.csdn.net/zhengsenlie 最初代码: 这是一个简单的时间获取server程序.它和时间获取程序client一道工作. ...
- 【RL-TCPnet网络教程】第30章 RL-TCPnet之SNTP网络时间获取
第30章 RL-TCPnet之SNTP网络时间获取 本章节为大家讲解RL-TCPnet的SNTP应用,学习本章节前,务必要优先学习第29章的NTP基础知识.有了这些基础知识之后,再搞本章节会 ...
- Calendar时间获取天,周,月,季度,年度时间段
Date类 Date类的大多数构造函数和方法都已经抛弃,只留下和毫秒有关的操作,目前常用的构造函数 常用方法 设置毫秒数 读取毫秒数 toString()打印结果 //创建日期对象,把当前的毫秒值转成 ...
- mfc小工具开发之定时闹钟之---时间获取和音频播放
1.这里的音频文件是指*.wav格式的音频,参考了飞雪的音频文件,版本号: 飞雪桌面日历 v2.84.1025 绿色版 http://www.piaodown.com/down/soft/18512. ...
- [转]Android时间获取与使用
编写Android网络程序时难免会遇到手机时间不准确的问题,本文总结了一些常用的时间获取与校正方法: 转载请注明:http://blog.csdn.net/xzy2046 1.获取本机当前时间: Ti ...
- C#关于时间(获取特定格式的时间及多种方式获取当前时间戳)以及10位和13位时间戳转为特定格式
C#关于时间(获取特定格式的时间及多种方式获取当前时间戳)以及10位和13位时间戳转为特定格式 置顶 2018年03月06日 19:16:51 黎筱曦 阅读数:19098 标签: C#时间 更多 个人 ...
- MFC_VC++_时间获取与保存列表控件内容到文件操作方法
MFC_VC++_时间获取与保存列表控件内容到excel文件操作方法 void CDataView::OnBnClickedBtnExporttoexcel() { CTime time = CTim ...
随机推荐
- c# 多显示器设置主屏幕(Set primary screen for multiple monitors)
原文 http://www.cnblogs.com/coolkiss/archive/2013/09/18/3328854.html 经过google加各种百度,终于找到了一个有效的解决方案,下面是两 ...
- 最近招两个兼职的活(PHP和JSP)
我这里的活,都是兼职写作的,是两本入门教程, 一本是PHP+Nginx 一本是JSP+Servlet. 都是入门教程,有署名有稿酬,有兴趣的可以联系 QQ:837652732 验证:PHP或Java ...
- storage theory
preface/prehight:topic: Storage(share fileSystem(可共享文件系统,Access I/O existence bottleNeck,access read ...
- HDU 4664 Triangulation【博弈论】
一个平面上有n个点(一个凸多边形的顶点),每次可以连接一个平面上的两个点(不能和已经连接的边相交),如果平面上已经出现了一个三角形,则不能在这个平面上继续连接边了. 现在总共有N个平面,每个平面上都有 ...
- asp.net MVC Razor 语法(1)
Razor 不是编程语言.它是服务器端标记语言. 什么是 Razor ? Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic 和 C#)的标记语法. 当网页被写入浏览器时, ...
- 获取第上一个兄弟元素 屏蔽浏览器的差异(PreviousElementSibling)
//获取element上一个兄弟元素 function getPreviousElementSibling(element){ //能力检测 判断是否支持PreviousElementSibling ...
- Javascript/Jquery 中each() 和forEach()的区别
从名字看上去这两个方法好像有点关系,但在javascript中它们区别还是挺大的. forEach() 用于数组的操作,对数组中的每个元素执行制定的函数(不是数组不能使用forEach()方法). 而 ...
- GridView.GridLines 属性
GridLines.None 不显示网格线. GridLines.Horizontal 仅显示水平网格线. GridLines.Vertical 仅显示垂直网格线. GridLines.Both 同时 ...
- BZOJ 3566: [SHOI2014]概率充电器( 树形dp )
通过一次dfs求出dp(x)表示节点x考虑了x和x的子树都没成功充电的概率, dp(x) = (1-p[x])π(1 - (1-dp[son])*P(edge(x, son)).然后再dfs一次考虑节 ...
- 在CentOS 7 / Gnome 3 双屏时设置主屏
在Windows中设置扩展显示器为主屏的方式非常清楚,但在Linux中就不是那么明显了,下面介绍如何完成这个设置 ------------------------------------------- ...