在 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 日期选择器中获取日期、月份、年份?