<style>
#signupForm{padding-left: 6px;padding-top: 10px;width: 650px;}
.layui-form-item{ white-space:nowrap}
#card{border:0px solid ;padding-left:100px;width: 400px;height: 100px;}
</style>
<div class="layui-col-xs4 layui-col-sm7 layui-col-md8">
<form id="signupForm" class="layui-form " style ="align:center" >
<div class="layui-form-item">
<label class="layui-form-label">检查官姓名:</label>
<div class="layui-input-block">
<input type="hidden" name="id" class="layui-input">
<input type="text" name="name" readonly placeholder="请输入" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">出差时间选择:</label>
<div class="layui-input-block">
<input type="text" id="editFreeDate" placeholder="请输入差时间" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">时间修改:</label>
<div class="layui-card-body" >
<div id="card" ></div>
</div>
<div class="layui-input-inline" id='remove-date-list'>
</div>
</div>
<div class="layui-inline">
</div>
</div>
<div class="layui-form-item">
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" type="button" lay-submit="" lay-filter="upEditSave">提交</button>
<button type="button" class="layui-btn layui-btn-primary" lay-submit="" lay-filter="reset-reload">清空</button>
</div>
</div>
</form>
</div>
<script>
layui.use([ 'form', 'table','laydate'], function(){
var $ = layui.$,
laydate = layui.laydate,
table = layui.table,
form = layui.form;
$ = layui.jquery;
laydate.render({
elem: '#editFreeDate',
range: true,
min: 0,
max: 32,
btns: [ 'confirm'],
// change: function(value, date, endDate){//日期时间被切换后的回调
done: function(value, date, endDate){
var start=value.substring(0,10);
var end=value.substring(value.length-10,value.length);
showTime(start,end);
}
});
//显示时间
function showTime(start,end){
var dateOnly = dataScope(start,end);
var date=getOnlyDate(dateOnly);
var dateArr=getMaxMinArr(date);
var _html =''
var count = 0;
for ( var i = 0; i <dateArr.length; i++){
_html += "<span class='tag label label-info' style='float:left;margin:2px;' data ='"+dateArr[i]+"'>" +
"<font color='#006400'>"+dateArr[i]+"</font>" +
"<span class='label label-info' data-role='remove'> <i style='color: mediumvioletred' class='layui-icon layui-icon-close-fill'></i></span></span>";
count++;
}
//$("span.tag").remove();
$("#card").append(_html);
}
//日期删除
$("#card").on("click",'span',function(){
$(this).remove();
})
//重置数据
form.on('submit(reset-reload)', function(data){
//document.getElementById("signupForm").reset();
//$("span.tag").remove();
$("#card").html('');
$("#editFreeDate").val('');
});
//时间排序
function getMaxMinArr(array) {
if(Object.prototype.toString.call(array).slice(8,-1) ==='Array'){
for (var i = 1; i < array.length; i++) {
var key = array[i];
var j = i - 1;
while (j >= 0 && array[j] > key) {
array[j + 1] = array[j];
j--;
}
array[j + 1] = key;
}
return array;
}else{
return 'array is not an Array!';
}
}
//时间去重
function getOnlyDate(dateArr) {
var dateNew=[];
dateNew=dateArr;
var span= $('#card').find('.tag');
for (var i= 0; i<span.length; i++) {
var spanTemp = span[i];
var dateName = spanTemp.getAttribute('data');
dateNew.push(dateName);
}
//开始去重
var ret = [];
for (var i = 0; i < dateNew.length; i++) {
if (dateNew.indexOf(dateNew[i]) == i) {
ret.push(dateNew[i]);
}
}
$("span.tag").remove();
return ret;
}
//计算时间差
function dataScope(value1, value2) {
var getDate = function(str) {
var tempDate = new Date();
var list = str.split("-");
tempDate.setFullYear(list[0]);
tempDate.setMonth(list[1] - 1);
tempDate.setDate(list[2]);
return tempDate;
}
var date1 = getDate(value1);
var date2 = getDate(value2);
if (date1 > date2) {
var tempDate = date1;
date1 = date2;
date2 = tempDate;
}
date2.setDate(date2.getDate() + 1);
date1.setDate(date1.getDate() );
console.log(date1)
console.log(date2)
var dateArr = [];
var i = 0;
while (!(date1.getFullYear() == date2.getFullYear()
&& date1.getMonth() == date2.getMonth() && date1.getDate() == date2
.getDate())) {
var dayStr =date1.getDate().toString();
if(dayStr.length ==1){
dayStr="0"+dayStr;
}
dateArr[i] = date1.getFullYear() + "-0" + (date1.getMonth() + 1) + "-"
+ dayStr;
i++;
date1.setDate(date1.getDate() + 1);
}
return dateArr;
}
});
</script>
layui 实现计算时间差--排序--去重等操作
原创
©著作权归作者所有:来自51CTO博客作者小飞侠格鲁帅的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:下载抓取-收费漫画-父与子
下一篇:layui -计算相邻时间差
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Java8处理对象List集合之间的交集、并集、差集和去重
Java8处理对象List集合之间的交集、并集、差集和去重
交集 并集 去重 Stream 差集 -
MYSQL学习笔记(个人)(第十四天)
衔接第十三天笔记。
#学习 #笔记 #linux #运维 #mysql -
Android实现类似execel的表格能回显并能修改表格内容(附带源码)
Android实现类似execel的表格能回显并能修改表格内容(附带源码)
#android android Text 数据
















