时间段查询

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术:VS   MVC

作者:袁志彤

撰写时间:2019-06-02

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

在我做的项目中就有这个功能,,一开始看到这个。哇!感觉太难了,做不出来,然后又去找老师讲过的东西,但是老师的只是时间查询,并不是时间段查询,没办法,又去上网找资料,才做出来。

 

做时间段查询需要用到插件,我用的是layui插件,先给两个input标签,因为是时间段查询,所以需要一个开始时间和一个结束时间,所以要两个input标签

 

时间段查询

 

然后就用layui中的时间与日期的插件,来实现这个功能

 

时间段查询时间段查询

渲染了之后,点击input就可以进行日期的选择了

时间段查询

 

日期插件就这样绑定成功了,但这只是开始,接下来才是重点,这个日期选择只是最原始的样子,你可以把它变得更漂亮些。然后就是获取input的值了,也就是你选中的日期,两个input标签的值都要获取到,一个是开始时间,一个是结束时间。

 

时间段查询

 

获取到了日期值之后,就通过重载的方式把数据传到控制器,在控制器用string类型接受,接收之后就通过lambda表达式比对,当然,因为数据库中的日期是用date类型储存的,所以要把string类型转化为datetime类型才能进行比对

 

时间段查询

 

时间段查询

 

数据库中的数据要大于等于开始使劲小于等于结束时间,还有一个问题就是储存在数据库的日期,如果要在视图中正确显示出来,就要把转换成string类型才能输出,虽然datetime类型也可以在视图中显示,但那显示的不是时间,是乱码,看不懂什么意思,,但转化成string类型后就不可以和视图传过来的数据进行比对,因为string类型不能与string类型比对,这几乎让我绝望,我就被卡在了这,最后我想出了一个取巧的办法,我用两个字段接收数据库中的日期,一个字段为datetime类型,另一个字段为string类型,在视图显示时用string类型,而比对时用datetime类型,这样二者就可以共存了。

 

时间段查询

 

时间段查询