jQuery UI DatePicker-返回错误的日期格式

问题描述 投票:2回答:1

我有一个类似[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 ....

javascript jquery jquery-ui-datepicker
1个回答
0
投票

问题出在var from = new Date(date_text);,它以错误的格式创建了一个新日期。一种解决方案是手动创建正确的日期字符串,如下所示:

© www.soinside.com 2019 - 2024. All rights reserved.