00:00
行,那接下来咱们看一看在Java语言当中对日期的一个处理,好吧,对日期的一个处理,各位啊,行,那这块的话,咱们就直接在这儿建一个package package。17啊,来,Out insert class,我们叫date date test,零一。日期的一个测试啊,Java中对日期的处理。Java中对日期的一个处理,首先第一个我们怎么去获取系统当前时间,各位怎么获取啊?我们这个JDK当中提供了一个类,这个类我就直接告诉你了啊,不在Java浪包下啊,在这个Java u包下。U下面。大家看U这个包下呢,有一个类,这个类叫什么叫做。哎呀。
01:00
Java网找吧。以D开始的贝塔啊这个类各位啊,那么这个类呢,大家看是不是有一个叫做无参数的构造方法。是吧?哎,分配date对象并初始化此对象表示分配它的时间什么精确到毫秒。像这个是年呀月呀日,是不是,哎,这个是已过时了,不让用了,已过时了啊,这已过时了。对不对,哎,你还可以有一个构造方法,是这样的。对吧,哎,还可以有有这么一个这个这个已经过时了,一过时咱就不看了啊,咱们看这个。无参数的构造方法行吧?来,Date now time new date为什么报错了?各位告诉我。为什么报错了?没打包吧,为什么这个得打包啊。原因是它在哪儿啊,哪个包下这个类。Java u不是浪包啊,不是浪包是不得打包啊。
02:01
对吧,哎,打包啊,光标停到这奥加回车。导进alt加回车有个提示啊,如果导入多个类的话,你要看清楚各位类,不能随便导,你就要EE夸一顿敲回车,Alt回车,E咔咔一顿回车,我告诉你这不对啊,这不对。这个你应该怎么做?应该是out回车之后啊,它有好几个date,明白吗?有一个是Java u求bar下的date,还有一个叫Java circle bar date,你别导错了,你八倒这个,那就有问题了啊。你导这个就不对了,不是这个啊,这是数据库方面的日期,那我们导哪一个out加回车这块呢?我们要选对了,是下边这个Java YouTube这个啊,Java u date这个就是系统当前时间。啊,系统当前时间精确到毫秒的。精确到毫秒的系统当前时间。直接调用无参数构造方法就行啊,这叫直接调用什么呀,无参数构造方法就行。
03:07
非常之简单啊,那我们输出这个日期会是怎样的呢?它会调用的突出方法吧,是不是啊。会掉toth,你你不写它掉不掉它也掉吧,你点过去print LN是不是string,点不点过去y off是调这个对象to string吧。所以他输出这个对象的时候,他一定会去调这个对象的toth string方法,那么这个date他有没有重写toth string啊?你猜他重写了没有,Sun公司写的这个date应该是重写了toth吧。输出的是内存地址还是一个日期啊各位。这应该能猜到吧,就是Java u date这个类to string方法。已经被什么呀重写了,输出的应该不是一个对象的内存地址,应该是一个日期字符串。
04:06
对不对,哎,我们输出一下啊走。好,大家看,确实不是对象内存地址。对吧,但是呢,这个好像也不符合我们中国人的习惯。他是他是什么呢?外国外国人嘛,对吧,开发的这个程序,写的这个代码,所以他这个日期呢,呃,可能更适合什么呀,国外人对吧,比如说美国的更适合他们的这个去去看是不是啊去看啊,这个日期你要看其实也能看出来是不是啊,星期几啊这是。今天是几号了,五号是吧。五号星期四。嗯。然后是这是四月呗。不是三月啊,三月三月呃。
05:01
五号星期四,10:51。然后零六。那如果说是采用这种方式的话,我们可能。看不太懂哈,看不太懂。那么这个日期可以格式化吗?就是我们可以去格式化这个日期吗。就按照一个特定的格式去转换,就是将这个日期,将日期类型date。按照指定的格式进行转换。就是date。转换成具有什么一定格式的。日期字符串准。有同学老师,我现在能不能去重写date这个类的to string方法呢?
06:09
我把这个图论给他改了不就得了吗?啊。不太现实,各位啊,不太现实。不太现实啊。我先提醒一下,不。你你你改人家源代码第一个不能改对吧,改了之后呢,就相当于说你这个能用对吧,但一换JDK就不就不行了。另外你你有同学说老师,那我写个子类去继承date呗。然后去重写它的突出方法不行了吗?那样的话,反正你以后得带着,得带着你写的那个类记你的子类得带着,对吧,你的子类带着继承date也是可以的,但这里呢,大家就别去打那个主意了啊,说图重写to string方法,我们就来看一看行吧,我们来看看这个日期怎么格式化啊,怎么格式化有一个类啊,叫simple,这个类比较长,Simple date format这个类各位就这个啊,叫Java text这个包下的。
07:03
这是专门进行日期格式化的。注意啊,这个类是专门负责日期格式化的一个类型。这个simple date format是java.text包下的啊,专门负责日期格式化的啊,日期格式化的,那么我们现在simple data format呢,我们就给它哎出来啊。大写字母是SDF,那行SDF吧,一个什么呀?Simple date format好,那么这个simple data format呢,这个类啊,在new的时候,你需要在这里去指定一个日期格式啊,需要去指定个日期格式,来我们看一下啊。哎呀,这块常用类得给大家讲到啊,啊以后开发大家要用啊Java点这个报价,我我讲哪个你就学哪个,我哪个我哪个讲了你就选哪个啊没讲的你就不用看了啊。
08:05
往下走,大家看simple date format有这样一个类吧,这个类呢,它的构造方法大家看。构造方法啊。是不是有这么一个构造方法?需要跟一个类型的格式。对不对?用给定的格式模式和默认的语言环境的日期格式符号构造一个simple data format。你需要往这儿传一个日期格式字符串。String类型的pattern,那雨桐老师,我这传一个什么样的字符串呢?注意听啊,听完你就知道了,往上看大家看。小Y表示什么年对吧。大M是不是表示月份呀?小弟。是不是表示月份的天数啊?
09:00
对吧。啊,YYYYMMDD。啊,然后HH你看H。是不是零到23呀,是不是小时啊。那M大家看是不是分钟。是不是,哎,小时中的分钟吧。是吧,哎,小S是什么,是不是秒啊。大S是不是毫秒啊?是不是毫秒啊,哎,那么这就是日期格式,各位啊,日期格式那么在这里呢?这个日期格式你可以自己写一个,来我写上啊。YY年MM。是月DD是日,然后M呃呃HHHH啊。是十,呃,MM是分,SS是秒,呃,SSS是毫秒。有同学说,老师为什么写四个Y,因为年是位的呀。
10:06
年是四位啊,月是两位吧。月是不是两位?大家思考一下,月是两位吧。两位啊。日也是两位啊。十也是两位,分也是两位。因为最高的分是59分,60分之后就进,进到进到一个小时了,秒也是60秒是最高的,那为什么毫秒是三个S啊。因为毫秒是几位啊,毫秒三位吧。是不是?对吧,最高多少啊,最高九九吧。是不是当1000的时候,是不是1000毫秒是不是代表。一秒啊。代表一秒,明白什么意思吧,啊,1000毫秒代表一秒。
11:03
所以最高是999。进一位够1000就进一位了,就这意思啊,这是日期格式。那你这个时候呢,你要想把这个日期进行格式化,你需要先把一个simple data的form面的对象创建出来,并且在这里指定一下日期格式,YYYY,假如说减号吧,MM,然后DDHHMMSSSSS。这不年吗,月日十分秒毫秒吗?是不是,然后中间用空格隔开,你看我用空空格隔开,你愿意隔就隔,不愿意隔无所谓啊,然后十分秒,现在我用冒号隔开,然后年呢,我现在用减号隔隔开啊,其中这个Y。MDHHMMSSSSS不能随便写之外,剩下的符号都可以随便写啊。注意。在日期格式中除了什么呀,除了YMDHM啊,然后SS这些字符。
12:08
不能随便写之外,剩下的符号格式自己随意组织。明白吧,随意组织啊,就是说你。星期没有星期的符号,没有星期的符号啊来这块呢,是你比如DD-MM-YYY行不行啊。不带十分十分秒毫秒行不行,可以吧,是不是没问题啊,哎,再来你说我喜欢这样的YY2位的。年月对吧,日对不对,哎,时啊分秒。嗯,你喜欢这样的,那你就这样的对吧,随便啊,这个格式无所谓,格式无所谓啊,你自己去定来,那我们这个是最完美的格式啊,最完美的来SDF里边有个方法来了啊注意了,来了这个对象一旦扭出来之后,调用一个方法,各位这个方法叫format。
13:19
这个方卖的方法参数跟一个什么日期,你把上面new的这个日期对象啊,给他拿过来扔进去,这样的话它就会返回一个字符串。No time string,我们把这个no time string呢输出一下,我们来看一下上面这是系统当前时间,现在是11点整了,那么这个时候呢,我们在这儿啊,创建了这个对象之后,我们调用format这个方法,然后呢,我们返回了一个字符串,我们来看这个日期是不是符合我们中国人的习惯。2020年3月5号啊,然后11点整48秒,259毫秒来我们再执行一次。
14:02
嗯。你看这个时间是不是一直在变呀,对吧?哎,这个时间一直在变啊。来对吧,再来一次。对吧,哎,再来一次。为什么这个东西它一直在变呀,因为你这个代码在重新执行的时候,这你有对象的时候,你的是系统当前时间。你每一次获取都是系统当前时间,所以是变的呀。对吧?哎,这是一个simple data的format,这个对象扭出来之后指定格式,然后调用format的方法把上面的参数传进去,然后返回一个字符串,有的老师这这这个怎么实现的,你需要关心吗?你需要关心它的原理吗?各位?你是不是只需要知道有这么一个类可以创建时间,有这么一个类可以进行格式化,是不是就行了?先学会用,不用懂原理,别人写好的,咱们用用就行了。
15:04
啊,用就行了,各位啊,用就完事了啊,别多想啊,别多想。呃,那行吧,那再往下啊,这个是日期格式化,各位。
我来说两句