00:00
这个类呢,完了以后,我们下边呢再来说一个类,这个类的话呢,叫做datetime form datetime form又比较长,咱们前面讲过一个类simple date form,对这个呢叫daytime form,就是日期时间的一个格式化的类。哎,它呢确实也类似于咱们刚才提到的啊,Simple data format,就是如果需要格式化或者解析日期或时间,咱们呢,就用这个类去替换原有的simple data format。啊,关于它的使用CTRLC。诶它,诶我们说呢,是用来格式化或解析啊,这个日期或者是时间,哎它呢,就类似于咱们之前讲的simple data。诶,方。那data form也是格式化或解析啊,日期或时间的。
01:08
买太算。行,那么我们就来看一下这个类怎么去用,那还是那个意思啊,呃,你要想用的话呢,都得涉及到他们的实例化了,那这块也得看一下simple,呃,Date time form,咱们去实例化,它的实例化的话呢,还挺多的样式啊,我们提到呢,有这样的三种方式。就是这里边的这三种方式,不妨呢,我就直接粘过来,哎,这个呢是它的实例化的,这个叫方式,一看下边对应的就是二三。行,这个咱们就一个一个来看一下啊,嗯,当然这三种方式里边,其实咱们前两种呢,基本上都很少用,要用的话呢,通常都爱自定义,呃,当然这两种呢,咱们也稍微的说一下啊,毕竟人家官方呢提供这样的方式了,第一个呢,叫做预定义的这个标准格式提到了一个叫ISO的,呃,Local datatime local data啊,Local time这样的几种,那我们来做一下,这个呢,都相当于是这个常量了啊,直接呢,咱们叫local time,呃,这个datetime form点哎,我们调一下叫ISO啊,这个叫local date local daytime local time,嗯,哪个都行,你看你是想要什么,呃,日期还是说时间,还是说都要啊,比如说都要吧,哎,这样子啊,哎,这样的话呢,首先al enter一下。
02:43
啊,这个这个还抛这样的一个异常了是吧,直接我们这么着啊,诶CRV啊for meter这样啊,他这不让我这个返回一个对象了,行这样的话呢,我们这不就得到了一个这样的一个实例了,得到它以后,我们的目的是为了格式化,或者是解析咱们的日期或时间,那首先那么就得格式化呗。
03:11
对格式化啊,格式化谁点一下,点一下这个form这里边呢,需要我们传一个叫temporal accessor,诶这个呢,结构典型的一个实现类呢,就是我们这个local data local time local data time。啊,这个我们多说一句啊,你看这随便呢,你找一个类啊,就是它吧,它呢继承于这实现了这个接口,这个接口呢,再往上点,哎,这不就找到它了。那而我们现在需要传的呢,不就是刚才看到的这样一个接口嘛,哎,所以呢,我们就传谁呢,传一个local date local time或者local date time的一个实例。啊,回过来。那咱们这呢,是一个local date time,那不妨呢,我就给你去提供一个local date time点不是有一个叫no吗。
04:02
哎,得到一个local datatime,把这个local data time ctrl c ctrl v啊扔进去啊,格式化,格式化是不是相当于是把这个日期改成什么呀。是不是字符串,咱们前面讲SIM data的form是不是也是这样,哎,所以呢,在这我们al enter一下,这不就生成了一个字符串吗?嗯,我叫I21吧。行,那么接下来咱们就可以去输出一下,先看一下你这个格式化之前,你这个日期呢,长什么样的一个格式,然后格式化呢,看看它变成什么样的一种格式了。首先呢,你这个这个这个类型肯定是变了啊,看看这个具体的这个形式。具体形式这块呢,没啥变化是吧,因为咱们这用的是这种预定义的这种标准格式,标准的话呢,那就还这样。只是说呢,类型变了,嗯,你这是一个嗯data time的,我们这儿就是一个普通的string啊,这个呢叫格式化啊,那解解析会不。
05:12
解析这就相当于它的一个逆过程了。哎,从字符串呢到日期,那仍然呢,拿着你这个叫form,第二解析什么方法,Pass这个单词就是解析的意思,所以说那个英国这个这个呃,英语系的国家,这个人呢,学编程其实还是要稍微简单一些啊,那调这个方法呢,想调什么方法,想想解析了,那就点解析是吧,嗯,这个咱们这还得记一下叫pass啊,那pass的话呢,咱们就把你这个字符串传进来呗,我们现在这个字符串长这样的格式。嗯,这个人家这块呢,也是这种标准格式,所以这块你别乱写啊,它只能识别这个样子的。
06:04
啊,就是你像你用这个form,只能是把我们这个datetime转换成这样格式,所以你想给它转回去呢,也只能是写这种格式的,那写上以后呢,我们再al enter一下。哎,就得到它了,因为这时候呢,我们不知道你到底是一个date还是一个time,还是一个date time,所以呢,它是一个接口的方式呈现的啊嗯,你可以下边呢再考虑做一些转换啊嗯,接下来我这呢,就简单的去S奥这个帕拉。哎,这不出来的就是这样的一个格式啊,哎这块呢,核心呢,其实跟刚才这块一样,嗯,就是它呢,保存为它其实是调图存方法啊,呈现的这样的一个效果,哎,此时呢,相当于就把这个呃,字符串呢又转换成一个日期了,只不过现在是它的一个多态形式。行,这个咱们用的比较少啊,就这种预定义的方式,那么本地的方式呢,也简单的去说一下,本地这个方式叫of localized daytime啊这块呢还挺绕的,具体来讲的话呢,其实还是有一些细节啊。
07:12
你像这个,嗯正儿八这API加上包括呢,之前的那个日期时间呢,嗯,其实以前呢,你相当于对于我来讲,我也不会是吧,哎你现在呢,你看哎还挺熟的,那就是多写写就熟了,哎大家呢,你别觉得说这A篇呢,感觉好难呀,其实他能有多难呢,是吧,你熟悉熟悉呢,其实这个呢,就都比较简单了啊啊这块我都给你整理了,所以呢,这个看着就很轻松了。嗯,这个我就不要了啊。这个我就不要它了,因为我下边这块呢,其实有写了,嗯,举两个例子,你看这儿首先呢,我们调了一个方法呢,叫呃,Localized daytime还可以呢,叫of localized date,关键呢还是看你是操作的日期时间还是日期了。
08:00
哎,我们接着在这啊,叫data time form,点这边呢,叫of local less,广是日期的,日期时间的啊,广是时间的,这个你看你想用哪个,比如说日期时间的吧,啊那就用这个啊,你要用这个的话呢,需要全个参数,参数呢,这里我写了说呢,对于local daytime来讲,适合于这样的三种参数。这三个参数有什么区别呢?就是出来的那个字符串的格式不一样啊,就一个个试试也行,比如先用这个short的啊,这是我们这个里边定义的这个常量了。好就用它,那这样的话呢,这不就生成一个form的一个对象嘛,接下来我们转换的话呢,那我还转这个。Day吧。反正它也是一个不可变的对象,前面不管你改没改过,它还是那个时间啊,哎,那我们接着把它做一个格式化,哎,格式化掉这个叫FORM1啊点做一个form。
09:07
看操作,把咱们这个local daytime CL c进去。诶扔进去以后呢,格式化嘛,返回来就是一个string,哎,我叫一个二好打印一下我们这个itr行这呢,咱们用的是这个叫shot。咱们这用的这个叫short跑一下。你看呢,长这个样子。那这是这个short的格式,那你换一个改成个浪吧。哎,浪出来呢,就长这个样子。就是只是这个格式上不太一样。你看这个是长这样,现在这个这不长这样的吗?你要换成这个叫呃medium呢,这个就又变了,我就不一个一个去试了,这呢就叫做这个格式化,诶这叫格式化,那解析的话呢,你就把这个呢,其实跟上面这个套路一样,你就FORM1把这个塞进去返回不就出来了吗。
10:13
嗯,这个我就不演示它了啊,一会儿咱们在这个第三种方式的时候呢,再演示一下啊,这个就过了,这是它的一个格式化,这个呢,咱们针对的是叫localized date time,嗯,它还有呢,叫of localized date,只是关于date的这个光是日期的话呢,嗯,它还多了一种这个参数的设置方式,有这个short medium long,还有一个four。哎,多了一个啊,多一个,那就多一个,那比如说咱们就看一下这个for吧,还是叫date time for meter,点我们的of localized是不是就date嘛,哎,咱们用一下这个参数叫for。好,Al生成一个,我们form,然后form。
11:01
第二,咱们去做一个format,把咱们上面这个local daytime呢扔进去,嗯,不能扔它了,咱们适用于local date了。那在这块我们就先造一个吧,哎,Local data.no。哎,Al enter,诶,生成一个字串ATR33行。这个呢,只让只让只要这个这个date啊。行,那这个for出来的是这个样子的。哎,这咱们用的是这个four,哎年月日他加了一个星期了,这个medium,看看medium长啥样。哎,Me呢,就长这个样子了,哎,比较朴素一些。行,你可以再看这个short长什么样,就是格式上稍有区别,那你你想要哪种格式的这个呢?你就哎调这里边的某一个固定的这个常量就可以了,这呢也是都提前都人家都定义好了啊,你说这个浪型我看着不爽不爽你也不行,那你只能是自定义啊,这些呢都给你写死了,格式呢长什么样都都已经固定下来了啊,没办法去改,嗯嗯,这呢是做的格式化这个操作了。
12:28
诶格式化啊,那么它对应过来,我们把这个词率呢,再变换成一个日期时间解析的事儿呢,我这块也就省略了啊,只不过我在这块呢演示过一个啊,这个呢其实也类似就行啊,那么对于开发来讲,我们如果要是需要用到格式化或解析,其实前面两种呢,一般都用的比较少。除非呢,你没什么要求,那我就直接呢,选其中的一个就行了,那一般的时候呢,咱们都会选择自定义。自定义的方式,就类似于咱们讲这个simple date format的时候。
13:02
C data防备的时候,这呢就相当于类似于提前预定义的感觉呢,不太方便,所以呢,咱们都是这个指定的,咱们去填这个参数,想要什么格式的,长什么样子,那我们自己去填,这种方式呢,就类似于咱们现在说的第三种叫自定义啊,那自定义看看啊,就是如果咱们要关注的话呢,大家掌握也是需要掌握这一种,这是一个重点,好,Date time for meter点叫of啊,Of pattern。Oh pattern里边呢,我们就写一个pattern,是不是跟那个simple data的form,这个连行态名都一样啊,都叫pattern,这个里边呢,如果咱们只关注于年月日十分秒,那这个我就不关注它了,哎,这不就对应的跟咱们上午讲的其实一样,对的啊,其实一样,那我们不妨呢就就用它,如果呢,你十分秒不想要,你就把这个删掉就完了。
14:00
年月日水秒都要行,我们生成一个对应的formter,下边格式化,诶格式化,我们拿着这个叫former。第二去form一下,这个呢,年月日十分秒,因为你这里边十分秒都有,所以咱们用这个叫local daytime是吧?哎,我们去闹一下。哎,生成itr或叫4s out一下IT24行,那么生成这个呢,格式就应该是长我们这样子的,这个我们就可控了。哎,这不就是这样吗?哎,没问题啊,行,这是咱们找的这个样子的,这个呢,你看这输出的这个零三是咱们这个。这个相当于按12小时制来算的是吧?嗯,12小时制来算的了,嗯,这是格式化,那么接下来这个解析。
15:02
嗯,解析就相当于把我们这个字符串呢,再转化成这个日期时间,还是拿着我们这个叫form做一个pass pass呢,把我们比如说就是它吧,诶CTRLC一下,诶放进来,嗯,这里边呢,你解析的这个格式,这个数据跟我们这个能够识别的格式一定要对应。那你不能这块呢,你没有十分秒这块有那肯定错了,哎,然后呢,Out enter一下还是得到我们这样的一个接口,诶这呢,我们输出一下这个接口。行,哎这块呢,你看它呈现的这个信息呢,就比较丰富了啊,它是这样的方式呢去呈现的,实际上呢,这时候已经转化成一个日期时间相关的一个数据了啊,这是年月日十分秒呢,在前面的。03:52。啊,正好零秒是吧,啊,那就这样个情况啊。
16:01
诶,不是零秒在后边呢。九秒是吧,嗯,行,诶这呢就是咱们关于这个叫解析的操作,就是我们后边要用的话呢,其实也是用这种自定义的这种方式就更灵活一些啊,通过这呢,咱们也看到呢,它确实类似于咱们说的simple data form,都是做格式化和解析操作的啊,这是咱们关于这个类的一个使用啊。
我来说两句