我有一个类似[https://jsfiddle.net/crmu20ag/4/]的日期选择器>
默认情况下,它以dd.mm.yy格式显示当前日期
但是,选择日期后,格式更改为mm.dd.yy
例如,今天是6.6.2020,我将选择日期6.10.2020,月份将从6月更改为10月。
我不知道我在哪里犯错。
$("#datepicker").datepicker({ dateFormat: "dd.mm.yy", minDate: 0, maxDate: "1years", changeMonth: true, changeYear: true, onSelect: function(date_text,inst) { var from = new Date(date_text); $( "#datepicker" ).datepicker( "option", "minDate",from); /* $.ajax({ type: "POST", dataType: "json", url: {link do!}, data: { color: $('#datepicker').val(), time: $('#time').val() }, success:function(data) { }, }); */ } }).datepicker("setDate", {$datum}); // validate date $("#datepicker").datepicker(); var previousDate; $("#datepicker").focus(function(){ previousDate= $(this).val(); ; }); $("#datepicker").blur(function(){ var newDate = $(this).val(); if (!moment(newDate, 'DD.MM.YYYY', true).isValid()){ $(this).val(previousDate); console.log("Error"); } }); // disable manual beforeDay var dateToday = new Date(); $("#datepicker").change(function () { var updatedDate = $(this).val(); var instance = $(this).data("datepicker"); var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, updatedDate, instance.settings); if (date < dateToday) { $(this).datepicker("setDate", dateToday); } });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <link href="https://code.jquery.com/ui/1.12.1/themes/cupertino/jquery-ui.css" rel="stylesheet"/> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment-with-locales.min.js"></script> <script src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"></script> <input type="text" id="datepicker" class="form-control" autocomplete="off">
我有一个日期选择器,看起来像这样https://jsfiddle.net/crmu20ag/4/默认情况下,它以dd.mm.yy格式显示当前日期。但是,在选择日期之后,该格式将更改为mm ....
问题出在var from = new Date(date_text);
,它以错误的格式创建了一个新日期。一种解决方案是手动创建正确的日期字符串,如下所示: