00:00
那下面呢,给大家介绍一下勾浪里边的日期和时间相关的函数,大家都知道啊,就说我们在编程的时候呢,我们肯定会用到日期相关的函数,你比如说咱们要去。记录这个下订单的日期。对不对,肯定是需要时间函数的,你再比如说咱们要去统计某一段代码执行的时间,那么我们也会用到时间和日期相关函数,所以说时间和日期相关的函数呢,用的也是非常普遍的,那么我们来看看在勾浪里边日期和时间相关函数有哪些,我们来看一下。所以大家看到,如果我们要去使用勾浪里面的时间和日期相关的函数呢,首先我们需要引入一个包叫探包,那换言之就是说在勾浪里边时间和日期相关函数呢,都是放在碳包里边的,我们先给大家看一眼。打开它。看一下,在这有个碳包。
01:00
看这里。探包提供了时间的显示和测量用的函数,对不对,那就时间的相关的函数几乎都放在这里的,也非常的丰富,看很多对吧,很多很多,那么我们呢,就是在这里呢,把我们在实际开发中用的非常多的这些个函数给大家做一个介绍来吧。先来看一下。时间和日期相关的函数整理。放到这里来,我们给他一个标题。二。我们给他一个标题二。标题二,在这里。等一下。标题,那我们做了一个基本的介绍。基本介绍。对不对,给大家来一个标题三,那么刚才我们讲过了,就是在我们实际开发中呢,这个用的是比较多的来走一个。
02:00
对吧,这是一个说明,这个说明完了过后呢,我们来一个。第一点。我们需要导入碳包,为什么需要导入碳包呢?因为碳包里面就是我们函数。日期和时间相关函数都是放在time包里边的。我们再给大家看一下。在这。对吧,这些函数很多,那同学们在后边学习的时候呢,也要经常的根据实际情况来查一下。相关的函数有哪些?给它放,这就行了。下边我们接着来看,既然用到这些包了,那么我们先来给大家做一些快速入门的介绍。首先第一个在go浪里边呢,它有一个类型叫做类型就是time.time有个类型就time包里边,它定义定义了一个层量叫time,那么time呢,本身一种也是一种数据类型,它是专门用于表示时间的,我们给大家来做一个介绍。大家看一下。
03:01
呃,给大家举个例子,给大家举一个例子,大家看一下,我们打开这个地方,我们新建一个函数。我们新建一个包。好,新建一个包。那么这个呢,我们上面讲time相关的函数,所以说写个time function。然后呢,新写一个文件叫main,顶go好吧。面点。打一个包包,然后呢,引入我们的format包,当然还要引入我们的time。然后呢,写一个主函数。媒体,那现在呢,我们来看看,看看在工浪中日期。日期和时间。时间相关的函数。二相关相关函数的使用,函数和方法,因为这里面也是也涉及到一些方法函数和方法的使用。
04:02
来看第一个案例。现在呢,我们先获取一下当前时间。第一步,获取,获取当前时间。那怎么获取到呢?比如说我用一个now来获取,等于time包里边有一个函数叫now。那么我们来看看这个now是什么呢?输出来叫print the,我格式化一下。首先我们看now它的值等于多少,再看now它的type类型是多少,是什么来输出,输出来运行一下。我们clean一下啊,我们clean一下,然后CD到CHAPTER06,然后CD到刚才我们说的time function,然后go让命顶go跑起来。我们可以看到这里面输出的内容呢,大家看到。看清楚没有,从这里我们可以看出来,闹等于的时间是这个。
05:02
大家看非常的不太容易看清楚,但是你也能看的出来这个时间大概是什么样子的,但是后面有一堆呢,看的比较麻烦,比如他有时区还有一些毫秒数在这里面,所以所以说我们在实际用的时候呢,往往会对它进行一个处理,再看类型,关键是这里。我们可以看到刚才得到的这个no,它的类型实际上是time下面的这个类型,看到没有,那么这个类型呢,它也提供了很多相提供了相关的一些方法,我们可以用一些方法来获取更详细的信息。好,这个呢,我们就拿到了。来把它先整理一下,这是第一个。这第一个就是获取当前时间,我们已经拿到了。放在这隔一下。那它输出的内容也给大家截取一个小视频啊,截取一个小图得到的内容返回的内容是这样子的。对不对。大家可以看一眼。
06:00
那既然我们拿到这个时间呢,下一步呢,我们就来进一步的来进行这个取出年月日十分秒我们需要的信息,也就是说现在得到的这个now呢,它这个日期格式并不是特别适合我们中国人观看,对不对,所以说呢,往往会对它进行一个再处理。怎么处理呢?看我这获取当前实验方法,刚才刚才老师老师已经演示了,就是time点到写了,那么如何获取到其他日期的格式呢?我这里有一个案例,我们一起来看。如何获取到其他相关日期?我举例说明。来,就在刚才这一个案例里面进一步写。来,呃,通过。通过什么呢?通过这个law可以获取获取到年年月日。十分秒。十分。分秒。
07:00
诶,这些都可以拿到,都可以拿到,那怎么拿到,我们来查一下手册,大家看到刚才我们用的是这个闹,是不是这个闹啊,这个闹。点进去返回的是当前本地时间,它返回的是什么类型呢?Time点进去我们发现这个time。其实是一个type是它是一个是一个结构体,但当然同学们现在还没学这个结构体啊,现在还没学结构体,我就是告诉他,告诉大家他返回的是个结构体,那么这个结构体里面有很多的方法,往大家看,往下面看一下,点一个往下面看。往下面看。我直接给他看看这个这个东西啊往下看。你看这从这开始。都是这个time类型的方法。方法看unix unix纳秒before after,我们往下拉,你看是不是这有个ear。这个month,这有一个day,这有个weekday,诶。
08:03
什么意思呢?我们找一个来说,我们找一个说,比如说这返回时间点T对应的年份。再看返回时间点T对应的月份,好,那我们就有思路了,那既然如此,我就用这个,那它的相关的方法来获取这一个我们需要的年月日和时分秒看你。看你走一个。我写上啊,你。年等于百分V,那为了好看呢,我写个写个N,怎么拿到这个年份year?获取到,其他,依此类推。好,我稍微改一改年月。月怎么获取呢?当然就是month。日。年月日。
09:00
对不对,年月日,那我把这个地方日的话就是对。年、月、日、时、时间。十分秒嘛,分。秒。对不对,年月十分秒都拿到,那这地方怎么拿到这个时间呢二。那有有些同学老师你怎么知道,因为刚才老师已经查过这个手册了,看是不是这是年月。日十分秒往下看,二二是不是返回对应的第几个小时就是一个time对应的时间就是24小时制的,那以此类推嘛,对不对?分大家猜一猜minute minute是不是minute秒,Second second好,写完了,那么我们来执行一下,看看能否拿到当前的年月日十分秒呢?来运行一下吧,跑起来。我们可以看到,我们就拿到了当前的年月日十分秒年哦,这上面没有给他来一个换行。
10:04
给他来一个换行就看得更清楚了,是不是跑起来?跑起来。年月日,十分秒我们就拿到了。好,有点慢哈。哟,怎么回事儿?卡这儿了吗?重新来一下。好,可以了,但是但是大家看到这里面它返回的是个英文的may,是五月,那怎么把这个英文的这个me,这个main改成写成我们中国人喜欢的数字呢?非常简单,你可以这样改一下就行了。对不对,这样写,用一个int直接给他强转就可以了,转一下就可以。转了对不对,这个月份呢,就可以看到是我们我们国国人喜欢看的那种。
11:01
数字的大家看。是不是这个五月就给你转过来了。好,同学们,那关于这一个日期和时间相关函数的基本的用法呢,也就是这些,就是我们常用的也就这些,我呢先把这块代码给大家放到相关的笔记中去。可以了,放好。整理一下。整理一下。没问题对吧,没问题,还是比较简单的,比较简单,这是我们拿到的日期信息,我们拿到的日期信息,那进一步我们再来看,拿到日期信息过后呢,往往我们在输出的时候,我们不可能这样输出一个年月日十分秒,对吧,我们往往会给他来一个格式化就是。一下子就能看出当前是几某年某月某日某时某分某秒,对不对?那这个时候怎么办呢?就涉及到格式化日期和时间,在勾浪里边,格式化日期和时间有两种方式,第一种方式就比较原始,就直接按照我们这种方式给它输出来就行了。
12:09
第二种方式呢,就是用go,它提供的一个叫format这个函数来进行这个格式化,我们分别为大家进行讲解,来看一下格式化日期和时间。打开我们这儿就是格式化。格式。格式化,诶格式化日期。日期时间,大家看一下我怎么来处理。呃,有两种形式啊,有两种形式方式一。方式一,方式一就是。就是使用什么呢?哎,直接就是使用这个,诶就是。使用我们的这种方式就可以了,就是SPF这种方式来输出,当然你要返回这个字串呢,可以用个SSPF是SSPF和这个SPF区别在哪里,大家还有印象吗?SSPF就是把这个字符串给你拿到了,对不对?那么如果是SPF呢,它就直接给你输出,就这个区别来进行处理。
13:13
或者啊。或者。Print f,好,我们两个呢,都给他说一下来写干力。好,格式化,格式化日期时间看看你。第一种方式呢,我们就这样格式输出就行了,非常的简单。这块啊,因为这块也比较简单,老师就不去啰嗦了,好吧,因为这个非常简单,我就写一下拿过来用一下就行了,大家看我这是怎么格式化的呢。这个闹就不要了,因为刚才我已经拿到了,大家看这里。我因为这个函数它很长啊,如果我不换行,你看整个全部写到一行,你看这个就很痛苦了,不好看,那怎么办呢?咱们允许换行,你只要换一下行就行了。
14:04
但换行的时候一定要保证上面有个逗号啊,这样子,那么年月日十分秒,我可以这个地方是一个格式,这个零二也可以不要,可以不要零二。可以不要。但你保留也可以啊,大家看能看出来什么意思吗?就说我的格式化是当前年月日十分秒,就是按照格式化输出的百分D100分D,这都不是整数吗?这都是整数,看第一个。就对应这个值。这个month对应这个值对不对,对,对应这个值,以此类推,那最后输出的就是我们。中国人比较喜欢看的年月日十分秒对不对,当然这个间隔服呢,你可以自己设置,就是我这个可以随意啊,同学们再帮你打空格也可以。这样打空格也可以,这个我就不多不多说了,因为咱们在前面讲基础的时候,已经把这块说的比较明白了,对不对,但是你这个百分D不能不能,最好是保持保存这个保存这个样子就行,好我们来输出一下看效果。
15:06
输出请看。OK,你当前是是不是已经看到了。如果你不喜欢用这种中划线来间隔,你也可以改成什么呢?你习惯了,比如说老师,我就喜欢用空格也可以。也可以,对不对,这个没有没有强求,你看中间就是空格了,就看你的你的习惯,就看你的习惯,但是我们国人呢,一般来说还是喜欢用有有一个中划线,把它间隔一下,那有些同学就说老师我能不能把这个字符串本身拿到呢,也可以,比如说你打一个SS过后呢,你会拿到一个字符串,比如说十寸。Data,那这样子呢,它它是把它格式化了,过后把这个字符串返回给这个变量,那你就可以用这个变量做相应的处理,比如说保存到数据库里边,或者是做其他的处理,我给大家再演示一下。
16:00
就说这个地方我们也可以格式化过后,把这个字符串返回给一个变量拿到,是这意思,知道吧,Date时寸我输出一下。对的尺寸等于V,说出来。对,看效果,看能否成功跑起来。我们可以看到这里面有一个小问题,对吧,F。S。好,再看一下有没有问题。好运行。运行。对吧,是不是刚才老师有一个地方,诶这方还是有问题。F。哦,诶,我看看是哪里有问题哦,这地方应该是F对不对,因为你是格式化输出的嘛。你是格式化输出的,所以说你得用那种格式化的方式来处理,不然的话这有问题,看date等于当前年月日什么什么什么拿到了可以的,没问题。这是我们说的第一种格式化日期的方式,先把它放到这里来。
17:03
这是我们说的第一种方式。实际上说白了就是用了一种这种方式。对吧,还有一种方式呢,就是也有可能是你你需要把它处理完了过后,你把这个字符串呢,返回给一个变量,然后在这个变量基础上再进行输出或者是保存。这是一种方式,那么还有一种方式呢,就是用time给我们提供的一个方法叫format,看这里格式化的第二种方式,这里面呢,就是no no不是time类型吗?它里面一个format这个函数。啊,这这个方法其实是它的一个方法啊,是他的一个方法,它这里面呢,直接写写清楚这个一个字符串。同学们注意,我标红的这一部分是他固定的写法。固定的写法,这个有一点不太好理解。说为什么必须写20061月二号15:04:05呢?
18:04
他必须这么写。你看我这写的有各个字字,数字是固定的,必须这样写,但是你可以组合,就你可以组,如果说你只想输出年月日,那你就就写2006年不0702,这个零幺就代表月,零二就代表。日,那如果说你只想得到十分秒,你就写。十五十五零四零五就行了,这个为什么必须固定这种写法,官方。官方文档没有给出一个明确的说明,那么我查了一下网上有个资料哈,据说据说是这个时间就是2006年1月2号。下午03:04:05,据说是就是那个。就是那go语言的那个设计者,他突然有个想法,就是想去创造或者设计一门最新的这个语言,就是go语言的。
19:02
最初想诞生的那个时刻,就是那个想法诞生的时刻,于是乎那个设计者呢,就把这个时间就设为。一个标准时间了啊,这个呢,就是就是一种说法,大家古妄听之好不好,反正不管你怎么样,你就必须写这个时间,你不按这个时间写,他就拿不出来看官方文档也也对他做了一点说明,我们看一下是不是这样子的,Time里面呢,的确有个format。的确有个format,我们找一下。我这儿就直接搜一下format。你看看这写了没有,Form format根据layout指定的格式返回代表的一个时间,而且他说。定义了参考的时间是什么呢,看这。英文稍微好一点的同学看出来这是2006年。那一月。二号。十五十零四零五。看到没有,就这么来的啊,就这么来的,那他规定好了呢,同学们就我们作为使用者就不要去跟他较劲了,那就按照这个用就行了,好吧,那这段代码我就不写了,也非常简单,我呢给大家写到这,大家看一下。
20:12
格式化日期的第二种方式。再看一下就行。啊,格式化日期时间。时间的第二种,第二第二种方式。第二种。方式OK,大家看一下这个地方格式化了过后呢?呃,那这块应该输出的是什么?大家想一想是不是就是年月日十分秒这地方,因为我我在这个格式化只只写了年月日,那这块输出的就应该是年月日,我这块只输出了指定的十分秒,那么第三个地方输出的就是十分秒,知知道这意思吧。来,我们跑一个,跑起来看效果。我们可以看到在这的确是这样输出的,看到没有?
21:01
对吧,当然,嗯,这个地方的组合呢,你也可以换,比如说老师我就喜欢用中划线,可不可以也可以,只要你数字不要乱改就行,你把它弄成下划线,你这个中划线这些都可以,没问题,你看再来试一下。你你看到是吧,这地方输出的就是中华线,但是有一点在强调啊,数字不能改变,它这写的2006,你就不能写成2007,你如果写成2007,你看这个结果它就不对了。你看这个结果他就不对,你看显然这不正确的,就是我跟大家讲的这个原因,就是你你姑且就认为这个时间就是我们构语言设计者突发奇想想去设计一个。就是想想去设计一个世界上最最简洁最高效的语言的那一刻,他的想法诞生了,好吧。国内部听之好,这是我们的第二种。格式化的方式,大家有一个印象,我把它呢也给同学们写到笔记里面来。
22:01
Okay。好,把它放好。对不对,这是格式化的第二种方式,写到这。方式。我们要写方式二。二是用的什么呢,使用。使用。我们这一个time。Time类型里面提供的一个方法叫format。这个方法。Format这个方法来完成的。哎,方法完成的,具体来说呢,就是老师刚才写的这一段代码。OK,那对他呢,我再做一个说明。对上面的图啊,对上图,对上图上面。上面代码代码的说明怎么说明呢?我在这有一段文字,大家记住一下,就是这个字符串各个数字是固定的,必须这样写。必须这样写,各个字符串,各个数字可以自由的组合,可以按程序的需求来返回时间和日期。什么叫自由组合呢?就是这,你如果只保留这一部分。
23:08
那他。只给你返回年月日。那同样的道理了,说老师,假设我只想要当前的是几月几月份,我只想要月份,或者我只想要年,怎么处理?那也很简单,如果你只想要月份,说老师,我我其他都不关心,我只想只关心现在是几月份,那怎么写呢?非常简单,你写个零幺就可以了。你写个零幺就可以了,你写个零幺,同学们它返回的就是月,你看它它这个数字都不是重复的,看到没有,你看没有一个重复的,所以说它才能区分,他一看你是零幺就是哦,他只想取出当前这个时间的月。如果你只想取出年,那你也可以这样去处理,来同学们看一下效果。你看最后这帮取的就只有一个月份零五。是不是零五啊。
24:00
没问题吧,诶,当然你要取年份的话呢,一样的说,老师我只想看年份,2006就是缘份。以此类推,好吧,这个老师就不多说了,好,我把刚才这一段说明呢给同学们。拿到这里面整理一下。有一个有一个基本的认识,好同学们,那关于我们日期,呃,时间和日期相关函数的一个基本介绍,先给大家讲解到这里,下面呢,我们就来下会儿,下面待会儿我们再说其他的用法,好吧,那关于基本的介绍先给大家聊到这里。
我来说两句