Javascript日期对象:从5月31日跳到下个月得到7月1日
Javascripts dateObject: jump from May 31st to next month gets July 1st
我不得不为客户端构建一个没有任何库(如jQuery)的DatePicker。我在本地机器上成功了。然而,我的客户现在正在使用它,如果它包含在他的网络应用程序中,它会显示出一些奇怪的行为。
如果我选择5月31日并滚动到下个月,我将在7月1日结束。在我点击按钮启动"jumpToNextMonth"功能之前,DateObject的实际时间是5月31日。我假设日期Object跳到6月31日,这是不存在的,然后再向前跳到7月1日。这种情况也发生在8月和其他所有30天的月份,之后是31天的月份。
点击时激发的行是
this.currentDate = new Date(this.currentDate.getFullYear(),
this.currentDate.getMonth() + 1,
this.currentDate.getDate());
我在本地机器上没有看到这种行为,也没有看到它在运行apache服务器。我无法想象是什么破坏了我客户网络应用程序上的日期对象,不幸的是,我无法访问他们的文件。
如果你能帮我回答这两个问题,我将不胜感激:
- 为什么它没有发生在我的本地机器上
- 如何在不将Day设置为"1"的情况下修复它,例如
this.currentDate = new Date(this.currentDate.getFullYear(), this.currentDate.getMonth() + 1, 1);
我在这里发现了类似的未回答的问题Flex Mobile 4.6:DateSpinner dateAndTime从1月31日跳至3月1日
您已经回答了自己的问题。对象中的6月31日实际上是7月1日。
这能解决你的问题吗?
function daysInMonth(month, year)
{
return 32 - new Date(year, month, 32).getDate();
}
var y = this.currentDate.getFullYear();
var m = this.currentDate.getMonth() + 1;
var d = Math.min(this.currentDate.getDate(), daysInMonth(m, y);
this.currentDate = new Date(y, m, d);
相关文章:
- 承诺不等到下个就解决
- 下个月开始MooTools Events Calendar
- 如何使用jquery获取下一天的日期和下个月的日期
- jquery与ajax控制工具包冲突2013年9月/10月发布
- Later.js-下个月同一日期
- Javascript日期对象:从5月31日跳到下个月得到7月1日
- 如何在javascript中检查日期是否在本周、本月或下个月内
- 在Javascript中获得下一个12个月的结果是混乱的
- 计算日期窗体下拉列表的月天数的最佳方法
- 增加下个月的 JavasScript 日期对象,当天数增加时
- FULLCALENDAR:如何禁用上一个按钮,只能看到当前月份和下个月
- 下个月和上个月在mozila firefox中不起作用
- 如何在jQuery中使用moment js动态查找下个月和下个年
- 如何使用JavaScript查找下个月和前几个月
- CJuiDatePicker年/月/年-月-日选择
- Fullcalendar从当前月份和下个月开始查看
- asp日历:在上个月/下个月导航时关闭
- 将生效日期从行更改为下个月自动
- 如何将这个月和下个月添加到“select”选项中?列表与javascript
- 当点击下个月或前一个月时,保持当前的新背景颜色在完整的日历