我有一个类似于https://jsfiddle.net/crmu20ag/4/的datepicker
默认情况下,它以DD.MM.YY格式显示当前日期
但是,选择日期后,格式更改为mm.dd.yy
例如,今天是6.6.2020年,我将选择日期6.10.2020年,月份将从6月变为10月。
我不知道我在哪里犯了错。
null
$("#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">
null
问题出在var from=new Date(date_text);
上,它使用date_text创建了一个新日期,该日期的格式为“dd.mm.yy”,这是意外的/不受支持的。 此处阅读更多信息
手动创建正确的日期字符串,如下所示:
var from = date_text.split(".");
var from_reformatted = from[1] + "-" + from[0] + "-" + from[2]
from = new Date(from_reformatted);
date_text
=“dd.mm.yy”
from
将是数组[“dd”,“mm”,“yy”]
from_reformatted
将是“mm-dd-yy”,这是日期构造函数可以接受的字符串
这将适用于dateformat=“dd.mm.yy”的情况
var from=$('#datepicker').datepicker('get date');
无论日期格式如何,这将始终工作
null
$("#datepicker").datepicker({
dateFormat: "dd.mm.yy",
minDate: 0,
maxDate: "1years",
changeMonth: true,
changeYear: true,
onSelect: function(date_text, inst) {
//ISSUE HERE: from is parsed as MM-DD-YY while date_text is meant to be DD.MM.YY, so it mixes months and days
//var from = new Date(date_text);
var from = $('#datepicker').datepicker('getDate');
$("#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">
<button type="button" onclick='$( "#datepicker" ).datepicker( "option", "minDate",0);'>Reset Min Date</button>
问题内容: 代码: 输出: 我正在尝试将字符串转换为NSDate数据类型,但没有获得正确的值。我尝试了许多解决方案,但未返回正确的值。我需要yyyy-MM- dd格式(2016-04-02)与我的输入“ 2016-04-02”相同。如果有人可以帮上忙,那真是太好了。提前致谢 问题答案: 从字符串转换为NSDate时,如果未将时区设置为格式化程序,则将获得本地时区中日期的NSDate。我想您的时区是
问题内容: 所以我正在做一个基本的星期选择器,您可以在其中选择星期数和年份,并从星期开始点获取相应的日期。 基本测试方案 您可以看到,我将通缉年份设置为2015,将通缉周设置为15,但是得到的结果是:“ 2014-12-31 23:00:00 +0000” …那真的让我垂涎三尺。无论我选择哪个星期和一年,它总是会在12月关闭。 预先感谢您的帮助。 问题答案: 与以下产品配合使用: 更新 斯威夫特3
问题内容: 以下脚本返回20而不是21! 我究竟做错了什么?这是JavaScript错误吗? 问题答案: 该方法依赖于实现(等效于)。 虽然此格式将在现代浏览器中可用,但您不能百分百确定浏览器将正确解释您所需的格式。 我建议您处理您的字符串,并将Date构造函数与年,月和日参数一起使用:
我必须在DB中查询日期,然后使用LocalDate和格式化程序以不同的格式可视化。问题是,无论我尝试了多少种不同的格式,查询都会以JDBC默认格式(yyyy-mm-dd)可视化。请注意,日期存储在日期字段中(如01-GEN-20)。典型输出为:日期:2019-03-12
我有以下应该返回时间戳的函数。当使用以下斜杠以字符串格式输入日期时,此代码有效:“2019/3/4”,但在使用 怎么回事?
问题内容: 我在解析我的代码中的平面文件后,试图转换作为文件存在于平面文件中的String 值。 我已经写了代码来做到这一点,但是当我格式化日期时,它总是给我一个指定日期超过1天的日期,有时它会加5:30。 以下是该代码: 上面的输出是 您能告诉我这里是什么问题吗?我在课堂上使用的模式有问题吗?还是代码有问题?我已经为此挠了很久。 问题答案: 您的系统时区不同。输出显示IST-或印度标准时间,与P
我试图从输入的日期返回格式为"dd/MM/yyyy"的日期。如果输入的日期具有以下格式:"dd-mm-yyyy",我想返回一个错误:"输入的日期格式无效。"我分享我的代码: 我试图执行以下操作,但这是不正确的,因为我必须返回一个DateTime变量: 我希望你能帮助我!谢啦
我的java有点生锈,好久没用了 我想做的是让用户定义一个日期(3个整数包含年、月和日)并将其转换为日期对象。 我有一个方法如下,这就是我在谷歌搜索后得到的结果。 它被下面的人调用,现在刚刚被打印出来 问题是日期完全错误。我想要开始日期为2014-01-01,结束日期为2014-12-31,但打印出来的是 开始时间:8月7日星期六00:00:01 GMT 6 - 开始时间:8月7日星期六00:00