本文包含两个部分:类型转化和JSP中时间控件
【1】String类型数字转化为byte类型
该类型是时间值的String类型转化为byte类型(BCD码):
String[] strTime = startTime.split(":");
Integer bcdObj0 = Integer.parseInt(strTime[0], 16);
Integer bcdObj1 = Integer.parseInt(strTime[1], 16);
int bcdValue0 = bcdObj0.intValue();
int bcdValue1 = bcdObj1.intValue();
setDays[8] = (byte)bcdValue1;//m
setDays[9] = (byte)bcdValue0;//h
其中先将10进制数转化为二进制存储的BCD,即每一个十进制数用BCD码表示,则相当于按照十六进制进行parse。在代码中,setDays[]是byte数组。
【2】JS中不包含年月日的时间控件
基本上没有现成的控件,需要自己改写,也可以到这里找并修改成自己需要的。我这里是这样实现的:
<div class="demo-section k-header">
<div><label for="start">设置XXXXX: </label><input id="start" style="width:100px;" value="12:00" /></div>
</div>
<script>
$(document).ready(function() {
function startChange() {
var startTime = start.value();
if (startTime) {
startTime = new Date(startTime);
startTime.setMinutes(startTime.getMinutes() + this.options.interval);
}
}
//init start timepicker
var start = $("#start").kendoTimePicker({
change: startChange
}).data("kendoTimePicker");
//define min/max range
start.min("12:00AM");
start.max("11:30PM");
});
</script>
这个控件里面有步长为30分钟的下拉框,也可以输入时间。