【发布时间】:2020-09-20 07:11:24
【问题描述】:
我为日期选择器实现了以下方法。
getMyDate: function(date){
var year = date.find('.year').val(); // fetch the selected date from picker
var day = date.find('.day').val();
var month = date.find('month').val()-1;
return new Date(Date.UTC(year,month,day)); // This is always returning previous day
}
有人可以告诉我如何根据选择器选择获得正确的日期吗?
【问题讨论】:
-
你为什么要从一天中减去-1?
-
是因为你在做
var day = date.find('.day').val()-1;吗?为什么不只是var day = date.find('.day').val();?此外,JavaScript 中的月份索引为零。 -
对不起,这是我打字时的错误。它是一个月而不是一天。我已经更新了我的代码。
-
您的日期选择器是否将日期显示为本地日期而不是 UTC 日期?如果年-月-日组合代表本地日期,则应使用
new Date(year, month, day)。如果它代表 UTC 日期,您应该寻找一个选项以使您的日期选择器相应地采取行动。 -
在我的 HTMl 中,我有下拉日期选择器,值分别设置为月(一月至十二月)、年(2015 年至 2020 年)和日(1-31)。即使你得到当前日期。即使您尝试使用硬编码日期,它也会返回前一天,如下所示: alert(new Date(Date.UTC(2020,06,10)); // 返回错误日期
标签: javascript jquery datepicker