在 Jquery 日期选择器中解释错误的月份,从 MySQL 中提取数据

Posted

技术标签:

【中文标题】在 Jquery 日期选择器中解释错误的月份,从 MySQL 中提取数据【英文标题】:Wrong Month interpreted in Jquery Date picker, data being pulled from MySQL 【发布时间】:2012-09-07 01:56:08 【问题描述】:

感谢您提前提供帮助。我刚刚开始,所以我可能完全错误地这样做了

好的,问题是在 DatePicker 中调用 php 中的日期值 2012, 2, 13(2012 年 2 月 13 日)被解释为 2012 年 3 月 13 日,因为 2 表示开始表单时的第三个月0 是三月,我得到了这么多。

//从日期时间字段中获取最小日期 $sqlmin = "从 table1 中选择 min(datetime)"; $resultmin = mysql_query($sqlmin); $mindate = mysql_fetch_array($resultmin); $datetime1 = date('Y, n, j', strtotime($mindate[0])); //这将给我 2012 年 2 月 13 日(2 月)

现在在 JS 部分

$(函数() $( "#fromdate" ).datepicker( dateFormat: 'yy-mm-dd', minDate: new Date( php echo $datetime1; ), // 这认为是三月,但我想要二月

所以问题是如何让日期选择器中的月份为 Feb 而不是 March

【问题讨论】:

我想过,但是我如何只将 MONTH 减去 1? 【参考方案1】:

我设法通过创建月份名称列表来解决“错误月份”的问题:

$(function() 
                $( "#alkupvm" ).datepicker(
                    dateFormat:"yy-mm-dd", 
                    firstDay:1, 
                    dayNamesMin:["Su","Ma","Ti","Ke","To","Pe","La"],
                    monthNames:["Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kesäkuu", "Heinäkuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"],
                    minDate:"-2y",
                    stepMonths: 1,
                    maxDate:"+2m"

                    );
                );

这里特别是monthNames 列表/数组。现在月份显示正确。

【讨论】:

【参考方案2】:

改用这种格式:"F j, Y, g:i a"

参考: http://www.php.net/manual/en/function.date.php#example-665

$datetime1 = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm

这是 javascript 预期的格式之一。

minDate: new Date("<?php echo $datetime1; ?>")

【讨论】:

【参考方案3】:

只需更改新的日期函数:

minDate: 
$(function() 
   var phpDate = new Date( php echo $datetime1; );
   $( "#fromdate" ).datepicker(
   dateFormat: 'yy-mm-dd',
   minDate: phpDate.setMonth(phpDate.getMonth() - 1),

getMonth 将返回 0-11,而 setMonth 将正确使用它。

【讨论】:

以上是关于在 Jquery 日期选择器中解释错误的月份,从 MySQL 中提取数据的主要内容,如果未能解决你的问题,请参考以下文章

如何在 jQuery UI 日期选择器中获取日期、月份、年份?

在日期选择器中未显示月份和年份下拉列表中的数据

如何在 Jquery Date Picker 中添加请选择月份年份下拉菜单的选项?

如何在 extjs 日期字段或日期选择器中访问更改月份事件

从 JQUERY 日期选择器中获取价值

引导模式内的日期选择器中的月份选择在 Firefox 中不起作用