我在jquery中格式化日期时遇到问题

时间:2016-08-05 11:18:17

标签: javascript jquery

实际上我的问题是我必须以'dd-MM-yy'格式检索数据,但每当我尝试将'dateFormat'属性更改为'dd-MM-yy'格式时,我都没有进一步处理。所以请帮我找到这个问题的解决方案..

 $("input[name='plannedPrgomStartDate']").datepicker({
                                showOn: "button",
                                buttonImage: "../../IMAGES/EQM/calender_icon.png",
                                buttonImageOnly: true,
                                changeYear: true,
                                changeMonth: true,
                                yearRange: yrRange,
                                dateFormat: 'MM-dd-yy',

                            });

$("input[name='plannedPrgomEndDate']").datepicker({
                                showOn: "button",
                                buttonImage: "../../IMAGES/EQM/calender_icon.png",
                                buttonImageOnly: true,
                                changeYear: true,
                                changeMonth: true,
                                yearRange: yrRange,
                                dateFormat: 'MM-dd-yy',

                            });

这是我获取日期值的代码

var plannedPrgomStartDate = $('#plannedPrgomStartDate').datepicker().val();
                        var plannedPrgomEndDate = $('#plannedPrgomEndDate').datepicker().val();                        
                        if (Date.parse(plannedPrgomStartDate) >= Date.parse(plannedPrgomEndDate)) {
                            displayErrorFeedback("Start date can not be greater than or equal to end date.");
                                loaderHideShow();
                                 return false;
                        }

2 个答案:

答案 0 :(得分:0)

非常确定dateFormat应该像这样设置:

$("input[name='plannedPrgomStartDate']").datepicker({
    showOn: "button",
    buttonImage: "../../IMAGES/EQM/calender_icon.png",
    buttonImageOnly: true,
    changeYear: true,
    changeMonth: true,
    yearRange: yrRange,
    dateFormat: 'mm-dd-yy', // Note this format
});

答案 1 :(得分:0)

这里有多个问题......:

首先,您访问相同的组件(它是相同的,对吗?)的方式不同。 第一次使用名称$("input[name='plannedPrgomStartDate']") 第二次标识为$('#plannedPrgomStartDate') 所以检查一下这不是一个错误,你真的有相同的名字和身份。

然后,当你在datepicker init获得日期值时,你应该没有值,因为没有选择... 因此Date.parse('')将为您提供NaN

或者,如果之前执行了第一个代码部分,则您的datepicker已经初始化。那你为什么要用$('#plannedPrgomStartDate').datepicker().val();再次启动呢?

$('#plannedPrgomStartDate').val();应该是足够的。

如果没问题,日期格式应该不会有问题。它应该按预期工作。请参阅:https://jsfiddle.net/1cym5p6s/