00:01
我们我们再接着来看一下与时间和日期相关的函数,那么与时间和日期相关的函数呢,它是放在这个time.H这个头文件里面的,我们来看一下是不是这样子的,打开它,我们在这里。Time。点H这个呢,定义的是时,操作时,日期和时间相关函数有哪些呢?有这么多。对不对,有这么多往下有九个常用的,那现在呢,我们直接举例说明就可以了,这里面呢,比较常用的有两个,有两个,第一个呢,就是获取到当前的时间。对,就是返回当前,你的时间是呃,什么样子的,年月日十分秒都可以拿到,然后呢,我们这边呃,获取当前时间过后呢,我们再写一个程序来统计一个函数执行的时间,我们来玩一把,这里面会用到一个叫d time这个函数,这个函数呢,可以统计TIME1和TIME2之间相差的秒数。
01:08
对,这个还还是很有意思的,那这样子啊,同学们我们就直接升代码了,因为这个也挺简单的,说一下就明白了。好,我们先来看c time这个函数的使用,来写个小案例。好,那现在我们仍然写一个,先把这个注销一下。我们写。一个文件,这个文件我们取个名字叫做time。Time demo01,这是第一个案例。同样的道理了,我现在把它的后缀进行一个修改。很简单,然后我把这个粘过来就可以了啊,很简单一个代码,大家看,这个是引入了一个标准输入输出的一个图文件,这个就是时间,这里就是该。该头文件中包含了或者声明了声明了和日期、日期和时间相关的函数。
02:04
对,那现在呢,大家看这句话什么意思啊,大家看这面有个类型time_T。这个time下换T呢,它是一个结构体。它是一个结构体,是time.H里面定义的,我说一下。time.H是一个结构体类型,这个结构体类型我们还没讲,其实如果你当时认真听的话,你发现这里面确实有一个这样的东西。对吧,它有这么一个东西。就这。就类似这样一个东西。好,那么这个呢,这个呢是这个这个是一个结构组类型,好,现在呢,我们就可以拿到这句话。大家看这句,这句话太猛。这个函数可以获取到,诶可以获取到当前时间,获取到就是初始化,可以完成完成初始化任务。
03:01
初始化任务。好,这边我少了一个斜杠。那最后这个地方大家看到c time,这个C呢,它可以接收一个time_T这样的类型,并且返回一个当前时间。呃,刚才我们不是讲过这个东西了吗?来看这里,这句话的意思是什么?好,来看这里,写写清楚,该函数就是同学们看到c time,它的完成任务是返回一个表示当地时间的字符串,当地时间基于参数timer啊,就是这种timer。就是这就第一个先定一个,然后再初始化,然后把这个放进去,就可以拿到这个时间了。那么我们来运行一下好不好,我们来运行一下,看这效果就行了,其实特别简单,运行起来我们看一下当前的时间是什么时间呢运行。诶,这个地方我们忘了来一个get唱。官方要运行一下。干的事运行一下,我们现在看到当年的时间就很清晰了,同学们看这里。
04:04
现在是2019年九月份一号11:26:29,对不对,好,这个就是获取到当前时间挺简单的,我们再来看一个小案例了。现在呢?编写一段代码来统计一个函数执行的时间,我先把这个函数写出来。好,同学们可以先看到我这里有一个函数。在我故意我这里写了一个函数,很简单的一个函数干什么呢?大家看这个函数完成什么功能呢?它是循环了两次,从I循环到这么多次,然后呢,这有个sum求和,里面又内存循环十次。也就是说我这里面想去看一看两个for循环,它去统计求和的时候花费的时间。对,现在我想运行运行test函数,然后呢,统计或者说看看看看执行花费的时间。
05:05
花费时间。为什么有这样需求呢?因为有些时候我们在做开发呢,我们希望去测试一下一个函数。耗了多少时间,从而得出这个函数到底是能不能达到我的一个时间的要求,对,所以说我我们就用这个案例来讲一下,那拿到这个函数过后,我们怎么来统计这个函数执行时间呢?理论上应该这么做的,对不对?我先把这个注销一下好不好?我先把这个注销一下。好,同学们,为了语法能通过,先一个理论上是这样子的,我们是先得到执行前,执行test前的实验。好,然后呢,这边我们就。调用test,这个是不是就是执行test呀,然后呢,再得到test执行后的时间,执行test后的时间。
06:00
再得到。对,再再得到,那它们之间的时间差是不是就是我们花费的秒数来,然后。诶,然后得到两个时间差。就是花费的描述,就是好用的好用。好用。的时间对不对?那这样子呢,我们就直接拿来用一下就可以了哈,非常的简单代码,呃,上面第一句话应该怎么写呢?来,同学们看我的代码是这么来玩的。这么来玩的,上面的时间我是这样获取的,跟上老师思路。特别简单,你看这里呢,我先定义了,还是跟原先一样,定义了一个time下线T这样的数据类型,一个是star t这个代表开始的时间,N的T代表结束的时间,然后第一个double,这个呢将来存放。这个存放时间差。
07:00
对,然后这边我提示了一下程序启动,程序启动过后呢,我就用这个得到了。得到了启动,这个就是初始化,初始化得到什么呢?得到呃,这个。这个得到执行到这句话的时候,这个时间得到当前时间。当前时间。这就是初始化得到当前时间了,好格式化一下。同学,想一想,你执行完毕过后,是不是又要重新得到一个时间,就是N的T呀,好,这呢,我们是不是又应该得到一个时间,这个时间怎么获取呢?也非常的简单,就这样一句话就可以了。大家看是不是这样就拿到了呀。好的,你看这就拿到了执行得到过后的时间,这个地方呢,我们把这个N的T放到这里面去,也就是说当它执行到39行的时候呢,N的T就是当前时间,这是得到。得到当前时间。
08:02
说老师为什么有两个得到单键时间呢?看啊,你在执行到32行的时候,这个时候得到的时间是执行到32行的系统时间,当你在39行执行time。艾特这个时间的时候呢,是得到执行到39行的系统时间,那么这两者时间差就求出来,这个就是时间差。时间差就是秒数按秒来计算的。按秒。秒计算,那同学们看到我这用用的是N的T减T,它这个其实就相当于是N的T。减去了一个十大的T。一下就得到了,但这里面它设计了一个转换的内容,这个就我们不去关心了,由他函数来执行就可以了,好,那现在我们就可以来得到这个时间来同学们输出一下。好执行执行test的函数。耗用时间耗用耗用了多少秒呢?输出来想点2F。
09:03
秒好吧,这么多秒,那这个秒呢,其实就是地下方形T就拿到了。结束结束,好,为了好看呢,我们来个get char。没问题吧,同学们,那同学们我们运行一下,看看这一段代码到底执行花了多少时间呢,这边是循环时间还是挺长的,你看这这个地方。第一个循外层循环,要循环这么多次,里面还有十层,相当于是在这个基础上乘以尺乘以十,循环这么多次。那么我们运行一下看看效果好。走起来。运行。好,耐心的等待,待会儿。程序已经启动了。程序已经启动了,现在我们等待,诶你看他说一共花了四秒钟。花了十秒钟就是,那如果说你你把这个再弄大一点,说老师我把这个弄成十,你算一算的出来,那就应该是40秒了,咱们就不去测试了,好吧,就说通过这个方式呢,我们理解了关于时间函数的使用,对。
10:05
各位,那关于这块我们日期跟时间相关的函数呢,老师就通过举这两个例子抛砖引玉的带进带大家进来,那如果说同学们将来在开发中用到其他相关的时间函数怎么办呢?没,没有问题啊,同学们把这个手册打开,照着这个理解去稍微试一下就能拿到。再不行,百度一下也是OK的。好,各位,那关于这一讲,我们就聊到这里。
我来说两句