获取时间戳/ 1000 - Jquery datepicker

1 jquery jquery-ui datepicker

我有一个日期范围选择器,每个日期选择器有2个字段:dat_start和date_end; 一切都很好,除了我将传递给服务器进行搜索的字段的时间戳; 我知道JS Timestamp是以ms为单位,但我应该有/1000...而我找不到办法.这是我的代码:

<script>
$(function () {
    $("#data_inizio").datepicker({
        altField: '#mod_available_date_id_start',
        altFormat: '@',
        defaultDate: "+1w",
        changeMonth: true,
        numberOfMonths: 1,
        onSelect: function (selectedDate) {
            $("#data_fine").datepicker("option", "minDate", selectedDate);
        }
    });
    $("#data_fine").datepicker({
        altField: '#mod_available_date_id_finish',
        altFormat: '@',
        defaultDate: "+1w",
        changeMonth: true,
        numberOfMonths: 1,
        onSelect: function (selectedDate) {
            $("#data_inizio").datepicker("option", "maxDate", selectedDate);
        }
    });
});
</script>
Run Code Online (Sandbox Code Playgroud)

感谢大家,对不起我的英语不好!

pet*_*ete 9

获取选择器选择的字符串/日期并将其转换为日期:

var stringyDate = $("#data_inizio").val(); // mm/dd/yyyy
var dateyDate = new Date(stringyDate);
Run Code Online (Sandbox Code Playgroud)

现在得到valueOf()(从1970年1月1日开始返回毫秒)并除以1000得到自[相同]以来的秒数.

var ms = dateyDate.valueOf();
var s = ms / 1000;
Run Code Online (Sandbox Code Playgroud)

示例小提琴:http://jsfiddle.net/QpQ7U/

要在日期选择中执行此操作,请修改onSelectdatepicker选项中的回调函数.

onSelect: function(selectedDate) {
    var v = $(this).val(),
        d = new Date(v);
    if (v.length > 0) {
        $('p#out').text(d.valueOf() + ' divided by 1000 is ' + (d.valueOf() / 1000));
    } else {
        $('p#out').text('No date selected');
    }
}
Run Code Online (Sandbox Code Playgroud)

使用onSelect的例子:http://jsfiddle.net/QpQ7U/1/

要将值存储在隐藏字段中,只需在以下位置指定字段onSelect:

onSelect: function(selectedDate) {
    var d = new Date(selectedDate),
        s = parseSeconds(selectedDate);
    if (s > 0) {
        //display to user
        $('p#out_inizio').text(d.valueOf() + ' divided by 1000 is ' + s);
        //store in hidden field.
        $('input#out_inizio').val(s);
    } else {
        $('p#out_inizio').text('No date selected');
    }
    //set min date on other picker
    $("#data_fine").datepicker("option", "minDate", selectedDate);
}
Run Code Online (Sandbox Code Playgroud)

隐藏字段的例子:http://jsfiddle.net/QpQ7U/2/

要格式化为日/月/年,请使用以下dateFormat选项:

$("#data_inizio").datepicker({
    altField: '#mod_available_date_id_start',
    altFormat: '@',
    dateFormat: 'dd/mm/yy',
    ...
});
Run Code Online (Sandbox Code Playgroud)

示例小提琴:http://jsfiddle.net/QpQ7U/5/