struct tm *localtime(const time_t *tp)
localtime converts the calendar time *tp into local time.
size_t strftime(char *s, size_t smax, const char *fmt, const struct tm *tp)
strftime formats date and time information from *tp into s according to fmt, which is analogous to a printf format.
Ordinary characters (including the terminating '\0') are copied into s. Each %c is replaced as described below,
using values appropriate for the local environment.
No more than smax characters are placed into s. strftime returns the number of characters, excluding the '\0',
or zero if more than smax characters were produced.
%a abbreviated weekday name.
%A full weekday name.
%b abbreviated month name.
%B full month name.
%c local date and time representation.
%d day of the month (01-31).
%H hour (24-hour clock) (00-23).
%I hour (12-hour clock) (01-12).
%j day of the year (001-366).
%m month (01-12).
%M minute (00-59).
%p local equivalent of AM or PM.
%S second (00-61).
%U week number of the year (Sunday as 1st day of week) (00-53).
%w weekday (0-6, Sunday is 0).
%W week number of the year (Monday as 1st day of week) (00-53).
%x local date representation.
%X local time representation.
%y year without century (00-99).
%Y year with century.
%Z time zone name, if any.
%%%
C语言中时间的函数一.概念
在C/C++中,通过学习许多C/C++库,你可以有很多操作、使用时间的方法 。但在这之前你需要了解一些“时间”和“日期”的概念,主要有以下几个:
1. 协调世界时,又称为世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT) 。比如,中国内地的时间与UTC的时差为+8,也就是UTC+8 。美国是UTC-5 。
2. 日历时间,是用“从一个标准时间点到此时的时间经过的秒数”来表示的时间 。这个标准时间点对不同的编译器来说会有所不同 , 但对一个编译系统来说 , 这个标准时间点是不变的 , 该编译系统中的时间对应的日历时间都通过该标准时间点来衡量,所以可以说日历时间是“相对时间”,但是无论你在哪一个时区,在同一时刻对同一个标准时间点来说 , 日历时间都是一样的 。
3. 时间点 。时间点在标准C/C++中是一个整数,它用此时的时间和标准时间点相差的秒数(即日历时间)来表示 。
4. 时钟计时单元(而不把它叫做时钟滴答次数) , 一个时钟计时单元的时间长短是由CPU控制的 。一个clock tick不是CPU的一个时钟周期,而是C/C++的一个基本计时单位 。
我们可以使用ANSI标准库中的time.h头文件 。这个头文件中定义的时间和日期所使用的方法,无论是在结构定义 , 还是命名,都具有明显的C语言风格 。下面,我将说明在C/C++中怎样使用日期的时间功能 。
二. 介绍
1. 计时
C/C++中的计时函数是clock() , 而与其相关的数据类型是clock_t 。在MSDN中,查得对clock函数定义如下:
clock_t clock( void );
这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock) 。其中clock_t是用来保存时间的数据类型,在time.h文件中,我们可以找到对它的定义:
#ifndef _CLOCK_T_DEFINED
typedef long clock_t;
#define _CLOCK_T_DEFINED
#endif
很明显,clock_t是一个长整形数 。在time.h文件中,还定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元,其定义如下:
#define CLOCKS_PER_SEC ((clock_t)1000)
可以看到每过千分之一秒(1毫秒) , 调用clock()函数返回的值就加1 。下面举个例子,你可以使用公式clock()/CLOCKS_PER_SEC来计算一个进程自身的运行时间:
推荐阅读
- 手机户外直播都用什么设备,手机户外直播设备全套推荐
- linux查域名命令,linux怎么查看域名
- sap怎么创建供应商,sap创建供应商采购数据
- 快手开直播怎么上同城,快手直播怎么快速上同城
- PHP数据库制作 php怎么使用数据库
- 为什么qq的视频不动,为什么的视频不动了
- 什么视频可以发弹幕赚钱,可以发弹幕的短视频
- 绍兴奥体小程序公众号关注,2021年7月16日绍兴奥体中心
- java源代码查询 java源码在哪儿看