酒店登记输入离开时间自动计算出天数,输入天数自动推算出离开的时间

酒店登记时间的推算

作者:马光佳
撰写时间:2019.1.18
开发工具与关键技术:MicrossftVisualStudio(MVC项目),Jquery

  • 结构搭建的代码如下
<label class="daoda" for="date">到达</label>
<input id="daoda1" type="datetime-local"  name="Arrive">
<label class="likai" for="sub">离开</label>
<input id="likai1" type="datetime-local" name="leave">
<label class="zhu" for="date"></label>
<input id="tianshu" type="text" name="TianShu">
<label class="tian" for="date"></label>
  • 控制器的方法
    在控制器写好天推算时间的方法,传到视图输出对应的数据
public ActionResult gettime(int day)
{
    DateTime date = DateTime.Now;        //Now 该对象设置为此计算机上的当前日期和时间,表示为本地时间。
    DateTime endDate = date.AddDays(day); //返回一个新的 System.DateTime,它将指定的天数加到此实例的值上。
    string strstartDate= date.ToString("yyyy-MM-ddTHH:mm");// ToString 对象的值转换为它的等效字符串表示形式。
    string strendDate = endDate.ToString("yyyy-MM-ddT12:00");// ToString 对象的值转换为它的等效字符串表示形式。
    return Json(new { strendDate, strstartDate }, JsonRequestBehavior.AllowGet);
}
  • 计算天数的js代码
    输入入住的时间和离开的时间,系统自动计算出天数
//计算天数
$("#likai1").change(function () {           
    var time = $("#daoda1").val();//获取入住的时间
    var time1 = $("#likai1").val();//获取离开的时间
    var date1 = new Date(time)
    var date2 = new Date(time1)
    var s1 = date1.getTime(), s2 = date2.getTime();
    var total = (s2 - s1) / 1000;
    var day = parseInt(total / (24 * 60 * 60));//计算整数天数
    $("#tianshu").val(day);//从天数的input中输出
});
  • 天数推算时间的js代码
    直接输入入住的天数,系统直接推算出入住的时间和离开的时间
//天数推日期
$("#tianshu").keyup(function () {
   var day = $("#tianshu").val();//获取天数input的值
   $.getJSON("/Main/gettime?day=" + day, function (data) {//调用控制器的方法,传过来相当于的参数
       $("#daoda1").val(data.strstartDate);//入住input接收入住的时间
       $("#likai1").val(data.strendDate);//离开input接收离开的时间
   });
});

猜你喜欢

转载自blog.csdn.net/weixin_44540436/article/details/86533963