通过 jquery 使用 datepicker 获取 input(timein) 的值并添加值以设置(超时时间)

Getting value of input(timein) with datepicker via jquery and add value to set (timeout time)

美好的一天, 我正在创建一个时间 in/timeout 机制,一旦用户 select 通过下拉菜单设置超时时间(日期和时间)。

这是我的代码:

我初始化了输入框:

$('.time_in, .time_out').datetimepicker({
            stepping:30
        });

然后触发更改:

    $('.select_book_type').change(function(){
        var x = this.value;
        for (var i = 0; i < time_rate.length; i++) 
            {
                if(x == time_rate[i].id)
                {
                console.log(time_rate[i].rate);
                var x = $(this).closest('tr');
                x.find('.rate').val(time_rate[i].rate); //sets the rate of the room

                //this part is my problem
                var time_in = x.find('.time_in').val();
                x.find('.time_out').val(time_in+time_rate[i].duration);

                }
                else if(x==null||x==0)
                {
                    var x = $(this).closest('tr');
                    x.find('.rate').val(0);
                }
            }
        });

我想我正在尝试使用 class .time_in 获取输入值,以用作我的 time_rate[i].duration 添加的值(例如值 = 12)但发生的事情是我无法获得 .time_in 的值,所以它只会将超时值设置为 time_rate[i].duration (例如 12)。

我想完成的事情:

超时输入框要设置成time_in + duration = timeout或09/02/2015 4:30 PM + 12 = 09/03/2015 4:30AM.

谢谢你,祝你有美好的一天。

你需要在添加之前将两个时间转换为毫秒,然后需要将总和转换为日期字符串

var time_inMilli=new Date(time_in).getTime();
var time_outMilli = time_inMilli+(time_rate[i].duration*3600*1000);
var time_out = new Date(time_outMilli).toLocaleString();
 x.find('.time_out').val(time_out);

试试这个

HTML

<div class="container">
<div class='col-md-5'>
    <div class="form-group">
        <div class='input-group date'>
            <input id='datetimepicker6' type='text' class="form-control" /> <span class="input-group-addon">
                <span class="glyphicon glyphicon-calendar"></span>

JS

var MinuteToAdd = 30

$(function () {
$('#datetimepicker6').datetimepicker();
$('#datetimepicker7').datetimepicker({
    useCurrent: false //Important! See issue #1075
});
$("#datetimepicker6").on("dp.change", function (e) {
$('#datetimepicker7').data("DateTimePicker").minDate(e.date);        
$('#datetimepicker7').data("DateTimePicker").date(e.date.add(MinuteToAdd,'m'));
});
$("#datetimepicker7").on("dp.change", function (e) {
    $('#datetimepicker6').data("DateTimePicker").maxDate(e.date);

});
});

DEMO