当前课程知识点:软件开发实训--动态网站开发 >  8 用户管理功能实现三 >  8.3通用日期处理 >  8.3.1通用日期处理

返回《软件开发实训--动态网站开发》慕课在线视频课程列表

8.3.1通用日期处理在线视频

下一节:8.4.1整型日期处理

返回《软件开发实训--动态网站开发》慕课在线视频列表

8.3.1通用日期处理课程教案、知识点、字幕

同学

你好

欢迎回到软件开发实训课堂

前面我们已经将用户信息的处理基本上

讲完了

但是细心的你是不是已经发现

我并没有对日期进行处理

那么这节课我们就来看一下

日期该怎么来处理

在前面我们并没有对出生日期进行处理

那么日期它处理起来比较特殊

它不像其他的数据那样直接用就可以了

而日期需要进行转换的

那么为了处理日期

这里边我们来看一下

首先我们打开这个实体

user这个类

来看一下birthday

birthday

我们定义的类型是Local Date Time

实际上出生日期我们只需要到日期就行了

不用这个time

也就是说我们不需要时间

只需要到日子就可以了

所以把类我们更换为Local Date

同样的

把下面的错误都给纠正一下

换掉我们的类

修改完我们的实体以后

我们去界面打开

这个模板我们添加出生日期的填写

就在姓名的后面

我们来填写

加一个DIV

形成我们的表单组

输入birthday的信息

出生日期

它的输入类型

我们用date就可以了

我们绑定的字段

birthday class等于

form-control

这样我们在界面上也就有了出生日期

这样加上以后它是否能执行呢

我们来看一下

启动我们的应用程序

这个时候我们已经将出生日期加到里面了

但是我们在输入信息后是否能够正确地

执行呢

我们来看

提交

没有提示

我们来看一下后端的消息

在我们的开发工具的输出日志里边

最后一行出现了Field error

那么字段错误

哪个字段这里给出了birthday

他说拒绝这个值

我们给出的日期格式是正常的

但是却得到了拒绝

这个原因就是类型不匹配

那么这样的问题我们就需要对日期进行转换

这是他的错误消息

他告诉你错误是企图

转换这个值

但是失败了

那么遇到这种情况怎么办

在spring boot里面

咱们可以定义一个自定义的配置类来完成

对日期和字符串的转换

我们在报名上点击右键选择新建Java类

类名呢我们就叫做

Web Configuration

包我们就可以放在与

application放在一起

或者你可以自己创建一个Configuration这样的包

创建完类后

我们给它加一个注解

Configuration

这个注解spring boot会自动

去加载我们的配置文件

而不需要你自己去再做其他配置

然后让我们的配置文件去实现Web的配置接口

要注意对于新版的java不需要用适配器

因为新版的Java支持接口里提供默认

的方法

所以spring boot spring mvC

按照这种方式

将配置的接口定义成了默认的方法

因此我们不需要实现他任何方法就可以

实现它

但在这里

我们需要实现字符串与日期之间的转换

我们需要加一个方法来复写他的方法

在空白处

我们点击右键

选择插入代码

然后选择菜单里的覆盖方法

找到我们的转换添加

我们来看一下

对于转换添加

我们这里需要复写addFormatters

格式

这是一个格式化器的注册方法

现在我们来编写

参数是一个注册类

我们通过它来注册相关的格式化器

看一下

这个对象它提供了add converter

add converter呢

是添加转换器

但对于日期来讲

我们可以增加一个格式化器

因为在java八以后

他提供了相关的日期和时间之间的一个

格式化

我们用起来也是比较方便的

调用这个方法

并传给他一个匿名类匿名对象

注意他需要范型

那么范行你要注意

他提供的范型类型就是你要转换的字段的

类型

我们转换日期字段

它的类型是LocalDate

所以呢

我们这里就填写范型类型为

LocalDate

然后我们去实现

它相关的方法

导入需要的类

这个formatter注意是spring提供的风曼

formatter

而不是java提供的

导入完成后

我们实现抽象方法

这个时候他提供了两个方法

第一个print是用来把日期转换成

字符串

第二个方法pass

是把字符串转换成日期

我们删掉它默认的在print方法里

我们首先来建一个格式化器

它的格式化器叫date time formatter

我们直接用他的工厂方法来实例化它

ofpattern

这是一个模式

我们提供一个日期转换的模式

四个Y表示年份

大写M两个表示有前到零的月份

最后日期

因为localdate只到日期

所以不需要考虑时间

格式化器定义完成后

我们直接去格式化我们的数据

这样我们就写好了

将日期转换成字符串

我们加上注释来说明一下代码

定义一个

格式化器对象

这个对象它能够把日期转换成字符串

也可以把字符串转换成日期

调用格式化器的formatter方法

把日期转换成字符串

这个print方法是将日期转换成字符串

第一个参数object

就是日期

第二个是本地化数据

就是你转换成我们当地的时间

第二个方法

解析器

它是把字符串转换成需要的日期数据

这是text

格式一定要注意为2019-01-02

这样的格式的字符串

这也是本地化对象

就是用本地化的格式来转换

返回我们说它返回的是日期数据

如果说你提供的日期格式有问题

那么转换时会发生异常

格式不正确

抛出异常

那么我们看一下怎么来解析

实际上这个我们就直接用

localdate

Java8之后

提供日期和时间的处理类相当的丰富

而且很统一

每个类的操作几乎是一样的

我们来看调用它的pass方法

pass

它有两个

你看一下这里的格式

它也告诉你了年月日这样的格式

然后转换的时候呢

使用的是ISO localdate这个模式

这对于我们来讲

我们需要的就是ISO localdate

本地化日期

所以我们也不需要第二个参数了

就直接转换我们的字符串就可以了

这样我们得到的就是我们解析好的

这个日期数据了

现在我们保存

这是调用pass方法

把字符串解析为日期对象

打开浏览器

我们重新输入数据

点击保存

我们来看一下

它已经提示保存成功

说明我们的日期已经进入到数据库了

我们可以打开数据库的命令行工具

去表里面看一下

选择数据库

查询数据

看一下最后一行

已经出现了20190605这样的日期

因为我们用的是localdate

所以他没有时间

因此在数据库里表现的就是000000

这是出生日期的

处理

当然我们可以在界面上把它也显示出来

那么经过这样的转换显示

会不会有问题呢

显示出来就知道了

u.birthday我们刷新

会看到出生日期已经正常出现了

这就是关于通用的日期的处理方式

我们就讲完了

下节课我们再见

软件开发实训--动态网站开发课程列表:

1 前端需求分析

-1.1课程介绍

--1.1.1课程介绍

--1.1.2课程介绍PPT

--1.1.3随堂测试

-1.2网站需求分析

--1.2.2网站需求分析

--1.2.3需求PPT

--1.2.4随堂测试

-1.3网站首页分析

--1.3.1网站首页分析

--1.3.2首页分析PPT

--1.3.3随堂测试

-1.4导航菜单分析

--1.4.1导航菜单分析

--1.4.2课程PPT

--1.4.3随堂测试

-1.5内容区域分析

--1.5.1内容区域分析

--1.5.2课程PPT

--1.5.3随堂测试

-1.6内容副页面分析

--1.6.1副页面分析

--1.6.2课程PPT

--1.6.3软件系统需求分析

-1.7编写需求文档

-1.8需求分析理解

2 后端分析

-2.1后端页面总体分析

--2.1.1后端页面总体设计

--2.1.2课程PPT

--2.1.3随堂测试

-2.2用户管理功能设计

--2.2.1用户管理功能分析

--2.2.2课程PPT

--2.2.3随堂测试

-2.3内容与分类功能分析

--2.3.1内容与分类功能分析

--2.3.2课程PPT

--2.3.3随堂测试

-2.4网站配置功能设计

--2.4.1网站配置功能设计

--2.4.2课程PPT

--2.4.3软件系统设计

--2.4.4随堂测试

-2.5数据库及表结构分析

--2.5.1数据库及表结构分析

--2.5.2课程PPT

--2.5.3数据库设计

-总体设计文档

3 接口设计

-3.1前台模板约定

--3.1.1前台模板约定

--3.1.2课程PPT

--3.1.3随堂测试

-3.2网站配置接口设计

--3.2.1网站配置接口设计

--3.2.2课程PPT

--3.2.3随堂测试

-3.3菜单接口设计

--3.3.1菜单接口设计

--3.3.2课程PPT

--3.3.3随堂测试

-3.4内容接口设计

--3.4.1内容接口设计

--3.4.2课程PPT

--3.4.3随堂测试

-3.5幻灯片接口设计

--3.5.1幻灯片接口设计

--3.5.2课程PPT

--3.5.3随堂测试

-补充设计文档

-3.7接口设计

4 功能设计

-4.1用户管理功能设计

--4.1.1用户管理功能设计

--4.1.2课程PPT

--4.1.3随堂测试

-4.2菜单管理功能设计

--4.2.1菜单管理功能设计

--4.2.2课程PPT

--4.2.3随堂测试

-4.3内容管理功能设计

--4.3.1内容管理功能设计

--4.3.2课程PPT

--4.3.3随堂测试

-4.4网站配置信息设计

--4.4.1网站配置信息设计

--4.4.2课程PPT

--4.4.3随堂测试

-完成设计文档

-4.6随堂测试

5 环境搭建与开发

-5.1开发环境搭建

--5.1.1环境搭建

--5.1.2随堂测试

-5.2Web前端环境搭建

--5.2.1Web前端环境

-5.3创建用户实体

--5.3.1用户实体创建

--5.3.2随堂测试

-5.4用户实体表创建与初始化

--5.4.1用户实体表创建与初始化

--5.4.2随堂测试

-5.5用户数据访问接口实现

--5.5.1用户数据访问接口实现

--5.5.2随堂测试

-5.6环境搭建问题

-5.7环境搭建问题

6 用户管理功能实现

-6.1用户服务层接口实现

--6.1.1用户服务层接口实现

--6.1.2随堂测试

-6.2用户列表和编辑控制器实现

--6.2.1用户列表和编辑控制器实现

--6.2.2随堂测试

-6.3用户存储和删除控制器实现

--6.3.1用户存储和删除控制器实现

-6.4用户添加、编辑界面实现

--6.4.1用户添加、编辑界面实现

-6.5用户管理添加用户调试

--6.5.1用户管理添加用户调试

-6.6开发

7 用户管理功能实现二

-7.1用户查询模板实现

--7.1.1用户查询模板实现

--7.1.2随堂测试

-7.2用户信息编辑的实现

--7.2.1用户信息编辑的实现

-7.3单个用户删除实现

--7.3.2单个用户删除实现

-7.4多个用户删除实现

--7.4.1多个用户删除实现

8 用户管理功能实现三

-8.1用户列表分页基本实现

--8.1.1用户列表分页基本实现

-8.2用户列表查询结果分页实现

--8.2.1用户列表查询结果分页实现

-8.3通用日期处理

--8.3.1通用日期处理

-8.4整型日期处理

--8.4.1整型日期处理

--8.4.2随堂测试

-8.5枚举数据的应用

--8.5.1枚举数据的应用

--8.5.2Spring Boot开发

9 后台主界面实现

-9.1登录逻辑实现

--9.1.1登录逻辑实现

--9.1.2随堂测试

-9.2登录界面及流程调试

--9.2.1登录界面及流程调试

--9.2.2随堂测试

-9.3管理主界面实现

--9.3.1管理主界面实现

--9.3.2随堂测试

-9.4授权验证拦截器实现

--9.4.1授权验证拦截器实现

--9.4.2随堂测试

-9.5拦截器调试

--9.5.1拦截器调试

10 分类管理实现

-10.1分类接口实现

--10.1.1分类接口实现

-10.2分类添加、编辑实现

--10.2.1分类添加、编辑实现

-10.3分类树结构实现

--10.3.1分类树结构实现

-10.4分类删除实现

--10.4.1分类删除实现

--10.4.2随堂测试

11 内容管理实现

-11.1内容实体定义

--11.1.1内容实体定义

-11.2相关接口定义

--11.2.1相关接口定义

-11.3服务接口实现

--11.3.1服务接口实现

-11.4内容添加、编辑模板实现

--11.4.1内容添加、编辑模板实现

-11.5内容添加、编辑控制器实现

--11.5.1内容添加、编辑控制器实现

-11.6内容检索页面实现

--11.6.1内容检索页面实现

-11.7内容分类树实现

--11.7.1内容分类树实现

12 UEditor富文本编辑器

-12.1修改UEditor相关问题

--12.1.1修改UEditor相关问题

-12.2整合UEditor到内容编辑界面

--12.2.1整合UEditor到内容编辑界面

-12.3UEditor图片对话框应用

--12.3.1UEditor图片对话框应用

-12.4文件上传问题处理

--12.4.1文件上传问题处理

13 网站配置管理实现

-13.1网站配置相关类实现

--13.1.1网站配置相关类实现

-13.2网站配置界面模板实现

--13.2.1网站配置界面模板实现

-13.3网站配置调试

--13.3.1网站配置调试

14 网站前端组件实现

-14.1网站首页布局实现

--14.1.1网站首页布局实现

-14.2菜单Vue组件实现

--14.2.1菜单Vue组件实现

--14.2.2随堂测试

-14.3幻灯片Vue组件实现

--14.3.1幻灯片Vue组件实现

-14.4滚动Vue组件实现

--14.4.1滚动Vue组件实现

--14.4.2随堂测试

-14.5滚动接口实现

--14.5.1滚动接口实现

-14.6滚动接口调试

--14.6.1滚动接口调试

-14.7幻灯片接口实现

--14.7.1幻灯片接口实现

15 网站前端页面实现

-15.1首页区域实现

--15.1.1首页区域实现

-15.2首页内容脚本实现

--15.2.1首页内容脚本实现

-15.3首页完善

--15.3.1首页完善

-15.4Vue组件放入单文件

--15.4.1Vue组件放入单文件

-15.5详细页面实现

--15.5.1详细页面实现

-15.6前端问题

16 测试与发布

-16.1网站测试介绍

--16.1.1网站测试介绍

--16.1.2课程PPT

-16.2功能测试

--16.2.1功能测试

--16.2.2课程PPT

-16.3打包发布

--16.3.1打包发布

-16.4部署运行

--16.4.1部署运行

--16.4.2随堂测试

8.3.1通用日期处理笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。