有大佬知道我选择出差日期和返程日期以后,怎么能让总天数自动计算并显示出来,前端用的是layui,后台SSM框架?
https://blog.csdn.net/qq_38974073/article/details/88352556
百度下挺多结果的。。
前台直接处理,做个点击事件拿到值处理过后相减,显示出来
$("#开始时间,#结束时间").blur(function(){
var start = $("#开始时间").val();
var end = $("#结束时间").val();
if(start != null && end != null){
var firstDate = new Date(start);
var secondDate = new Date(end);
var diff = Math.abs(firstDate.getTime() - secondDate.getTime())
var result = parseInt(diff / (1000 * 60 * 60 * 24));
$("#总天数").val(result);
}
})
$(function () {
layui.use(['laydate'], function () {
var laydate = layui.laydate;
//開始時間
laydate.render({
elem: '#startDate',
format: 'yyyy-MM-dd HH:mm:ss',//显示格式
type:"datetime",
showBottom: true,
eventElem: '#ic-startDate',//日期输入框的图标,给图标也绑定点击事件
});
});
});
//文本框失去焦点事件
function inputBlur() {
var startDate = $("#startDate").val();
var endDate = $("#endDate").val();
var startTimeStamp = new Date(startDate).getTime();
var endTimeStamp = new Date(endDate).getTime();
var time = (endTimeStamp - startTimeStamp) / 1000;//计算差值时间戳
let hou = timeFormat(parseInt(time / (60 * 60)));
let min = timeFormat(parseInt(time % (60 * 60 * 24) % 3600 / 60));
let sec = timeFormat(parseInt(time % (60 * 60 * 24) % 3600 % 60));
$(".main-differ>input").val(hou + ":" + min + ":" + sec);
};
//时间显示小于10的格式化函数
function timeFormat(param) {
return param < 10 ? '0' + param : param;
};