如何更改日期格式变量

时间:2014-07-14 18:16:08

标签: javascript jquery jquery-ui date jquery-ui-datepicker

我希望你能帮助我,我在datepicker上有这个代码: 编辑:完整代码

 $(document).ready(function () {
$("#entrada").datepicker({
    firstDay: 1,
    monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
    monthNamesShort: ['Ene','Feb','Mar','Abr', 'May','Jun','Jul','Ago','Sep', 'Oct','Nov','Dic'],
    dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sabado'],
    dayNamesShort: ['Dom','Lun','Mar','Mié','Juv','Vie','Sáb'],
    dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','Sá'],
    weekHeader: 'Sm',
    numberOfMonths: 1,
    onSelect: function (selected) {
        var selectedDate = new Date(selected);
        var dateMin = new Date(selectedDate);
        var daystoAdd = 1;
        dateMin.setDate(dateMin.getDate() + daystoAdd); 
        var dd = dateMin.getDate();
        var mm = dateMin.getMonth() + 1;
        var y = dateMin.getFullYear();
        var dateMinFormatted = mm + '/'+ dd + '/'+ y;
        $("#salida").datepicker("option", "minDate", dateMinFormatted)
    }
}).datepicker('setDate', 'today');//dia de inicio, default HOY
$("#salida").datepicker({
    firstDay: 1,
    monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
    monthNamesShort: ['Ene','Feb','Mar','Abr', 'May','Jun','Jul','Ago','Sep', 'Oct','Nov','Dic'],
    dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sabado'],
    dayNamesShort: ['Dom','Lun','Mar','Mié','Juv','Vie','Sáb'],
    dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','Sá'],
    weekHeader: 'Sm',
    numberOfMonths: 1,
    onSelect: function (selected) {
        $("#entrada").datepicker("option", "maxDate", selected)
    }
});

});

我有这个问题,我需要这样的日期“dd-mm-yy”但是在var函数中我不能将“/”更改为“ - ”因为datepicker写了“2020”年并且变得古怪。只有这一点,改变dateminformatted

如果你看到我选择“entrada”日期,“salida”显示第二天并阻止“之前”日期,那就是为什么我无法更改变量

这是演示页面:www.chileansoftware.cl/cambiaso/prueba/index.asp

欢呼声!!!

2 个答案:

答案 0 :(得分:0)

您不应手动重新格式化日期,您要设置minDate的日期,可以使用您计算的变量来传递日期对象:

$( "#salida" ).datepicker( "option", "minDate", new Date(y, mm, dd) );

初始化datepicker时,您可以分别添加显示格式和提交格式的formataltFormat

$( "#salida" ).datepicker({ altFormat: "dd/mm/yy", altFormat: "yy-mm-dd" });

如需进一步阅读,请检查docs

答案 1 :(得分:0)

我猜你需要这个(用你的数据诅咒):

//Llamado al dos DatePicker
$("#txtFechaInicio").datepicker({
    dateFormat: "dd/mm/yy",
    changeMonth: true,
    changeYear: true,
    numberOfMonths: 2,
    minDate: "17/09/2012",
    onSelect: function (selectedDate) {
        $("#txtFechaFin").datepicker("option", "minDate", selectedDate);
    }
});
$("#txtFechaFin").datepicker({
    dateFormat: "dd/mm/yy",
    changeMonth: true,
    changeYear: true,
    minDate: "17/09/2012",
    numberOfMonths: 2,
    onSelect: function (selectedDate) {
        $("#txtFechaInicio").datepicker("option", "maxDate", selectedDate);
    }
});