APUE------时间和日期
2016-04-21 09:19
375 查看
由UNIX内核提供的基本时间服务是计算自协调世界时(UTC)公元1970年1月1日00:00:00这一特定时间以来经过的秒数。
time函数返回当前时间和日期
如果参数非空;则时间值也存放在由calptr指向的单元内。
时钟通过clockid_t类型进行标识
clock_gettime函数可用于获取指定时钟的时间。
clock_getres函数把参数tsp指向的timespec结构初始化为与clock_id参数对应的时钟精度。
要对特定的时钟设置时间,可以调用clock_settime函数
两个函数localtime和gmtime将日历时间转换成分解的时间,并将这些存放在一个tm结构中。
localtime是将日历时间转换成本地时间。而gmtime则将日历时间转换成格林威治时间。
函数mktime将以本地时间的年、月、日等作为参数,将其变成time_t值
函数strftime是一个类似于printf的时间值函数。
当然 strftime有一份自己的转换说明。自行百度
time函数返回当前时间和日期
#include <time.h> time_t time(time_t *calptr); //返回值:若成功,返回时间值;若出错,返回-1
如果参数非空;则时间值也存放在由calptr指向的单元内。
时钟通过clockid_t类型进行标识
标识符 | 选项 | 说明 |
---|---|---|
CLOCK_REALTIME | 实时系统时间 | |
CLOCK_MONOTONIC | _POSIX_MONOTONIC_CLOCK | 不带负跳数的实时系统时间 |
CLOCK_PROCESS_CPUTIME_ID | _POSIX_CPUTIME | 调用进程的CPU时间 |
CLOCK_THREAD_CPUTIME_ID | _POSIX_THREAD_CPUTIME | 调用进程的CPU时间 |
#include <sys/time.h> int clock_gettime(clockid_t clock_id, struct timespec *tsp); //返回值:若成功,返回0;若出错,返回-1
#include <sys/time.h> int clock_getres(clockid_t clock_id,struct timespec *tsp); //返回值:若成功,返回0;若出错,返回-1
clock_getres函数把参数tsp指向的timespec结构初始化为与clock_id参数对应的时钟精度。
要对特定的时钟设置时间,可以调用clock_settime函数
#include <sys/time.h> int clock_settime(clockid_t clock_id, const struct timespec *tsp) //返回值:若成功,返回0;若出错,返回-1
两个函数localtime和gmtime将日历时间转换成分解的时间,并将这些存放在一个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; }
#include <time.h> struct tm *gmtime(const time_t *calptr); struct tm *localtime(const time_t *calptr); //两个函数的返回值:指向分解的tm结构的指针;若出错,返回NULL
localtime是将日历时间转换成本地时间。而gmtime则将日历时间转换成格林威治时间。
函数mktime将以本地时间的年、月、日等作为参数,将其变成time_t值
#include <time.h> time_t mktime(struct tm *tmptr); //返回值:若成功,返回日历时间;若出错,返回-1
函数strftime是一个类似于printf的时间值函数。
#include <time.h> size_t strftime(char *restrict buf, size_t maxsize, const char *restrict format, const struct tm *restrict tmptr); size_t strftime_l(char *restrict buf, size_t maxsize, const char *restrict format, const struct tm *restrict tmptr, locale_t locale); //两个函数的返回值:若有空间,返回存入数组的字符数;否则,返回0
当然 strftime有一份自己的转换说明。自行百度
相关文章推荐
- How to save a gecko from gluing disaster
- Django提交POST表单“CSRF verification failed. Request aborted”问题的解决
- UITbaleView滚动到最后一行
- [hdu 5521][2015ACM/ICPC亚洲区长春站] House Building
- Building Forms
- 一个界面,有多个UITextField的时候,点击提交按钮发送数据时,取消键盘
- LeetCode|Implement Stack using Queues
- String,StringBuffer和StringBuilder的区别
- UI- UIWindow & UIView
- 利用UICollectionView实现"新特性"功能demo
- 论项目的UI设计
- LeetCode|Implement Queue using Stacks
- 转载/JSTL/attribute value does not accept any express
- [bzoj4527]K-D-Sequence 解题报告
- UID 修改 & UID 锁死修复
- Android Material Design新UI控件使用大全 一
- iOS 通过UIBezierPath和CAShapeLayer绘制圆形进度条
- 鼠标单击TabSequence=0的单元格时黑色选中色变为其他颜色
- UITableViewStyleGrouped顶部留白问题
- STL中为什么我们更偏爱vector而不是deque