大家好,又见面了,我是你们的朋友全栈君。
Bootstrap 的时间控件易用且美观,下面将用法记录一下,大家有需要可以直接看官网的介绍,还是很基础的。 网址:http://www.bootcss.com/p/bootstrap-datetimepicker/
Bootstrap有两种时间控件:datepicker 和 datetimepicker,后者是前者的拓展,增加了到时分秒的选择。下面是选用了 datetimepicker 的 写法:
首先需要引入相关的 css样式文件 和 js交互文件 : css文件:
代码语言:javascript复制<link rel="stylesheet" type="text/css" href="${basePath}/resources/plugins/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css"/>
js文件:
代码语言:javascript复制<script src="${basePath}/resources/plugins/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script src="${basePath}/resources/plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"></script>
basePath定义:
代码语言:javascript复制<c:set var="basePath" value="${pageContext.request.contextPath }"></c:set>
下面是对日期-时间控件的引用:
代码语言:javascript复制<%--日期-时间选择-html--%>
<div class="form-group">
<label class="control-label col-md-3">交易时间</label>
<div class="col-md-4">
<input class="form-control input-inline input-sm form_datetime"
name="tradeTime" id="tradeTime" size="12" type="text" placeholder="交易时间"
data-date-format="yyyy-mm-dd HH:mm:SS"/>
</div>
</div>
<%--日期-时间选择-js--%>
$(".form_datetime").datetimepicker({
autoclose: true, //选择后自动关闭当前时间控件
isRTL: Metronic.isRTL(), //RTL:right to left(从右向左显示),默认为false,即:从左向右显示
format: "yyyy-mm-dd hh:ii:ss", //时间格式
pickerPosition: (Metronic.isRTL() ? "bottom-right" : "bottom-left")//控件显示位置
});
页面展示如下:
只对时间控件的引用:
代码语言:javascript复制<%--时间选择-html--%>
<div class="form-group">
<label class="control-label col-md-3"><span style="color:red">*</span>起止时间</label>
<div class="col-md-8">
<input type="text" name="startTimeStr" id="aou_startTimeStr" data-date-format="hh:ii:ss"
class="form-control input-inline form_time" placeholder="00:00:00" readonly="readonly">
~
<input type="text" name="endTimeStr" id="aou_endTimeStr" data-date-format="hh:ii:ss"
class="form-control input-inline form_time" placeholder="23:59:59" readonly="readonly">
</div>
</div>
<%--时间选择-js--%>
$(".form_time").datetimepicker({
autoclose: true,//选择后自动关闭当前时间控件
isRTL: Metronic.isRTL(), //从左向右显示
format: "hh:ii", //只选择到分钟
startView : 'day', //起始视图从天开始
maxView : 'day', //最大视图从天开始
minuteStep:1, //分钟显示的间隔是1
pickerPosition: (Metronic.isRTL() ? "bottom-right" : "bottom-left")//控件显示位置
});
上面的部分我想实现 起始时间是: 18:00:00 , 截止时间是: 23:59:59 的选择,但是时间控件没法精确到秒,默认的秒是当前选择的时间的秒,所以我设计为:时间选择到分,后面秒的部分默认接 00 和 59。
页面展示如下:
该配置从小时开始选择,向上选择年月日是不可以的,因为maxView是从day开始的。由于我调整了minuteStep=1,所以可选分钟的间隔是一分钟,默认是5分钟,如本文第二张图所示。
代码语言:javascript复制var startTime = $("#aou_startTimeStr").val();
var endTime = $("#aou_endTimeStr").val();
if(startTime >= endTime){
bootbox.alert({title: "提示信息", message: "起始时间必须小于截止时间!"});
return;
}
$("#aou_startTimeStr").val(startTime ":00"); //起始时间的秒默认为00
$("#aou_endTimeStr").val(endTime ":59"); //截止时间的秒默认为59
数据库中,起始时间、截止时间对应的类型是time类型,专用于存储时间,选择时间后的结果如下:
保存后,数据库中存储的结果如下,秒的部分是设置的默认值:
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142243.html原文链接:https://javaforall.cn