如何检查日期是否是一个月的最后一天
Javascript / jQuery: How to check if date is last day of month
我有以下代码(缩短),它在循环遍历数组时创建一个月的日期。
这工作很好到目前为止,但我正在努力停止它,如果它达到一个月的最后一天。我使用它来动态地将表行添加到HTML表中,并且由于数组设置为在31结束,因此当设置的月份少于31天时,它总是从下一个月开始。然后,我的表中的单元格显示例如. ...28, 29, 1, 2
为二月专栏。
谁能告诉我如何检查day1
, day2
或day3
是否是一个月的最后一天,如果将它们设置为"?
我的想法是,以下将给我一个月的最后一天,但我找不到一种方法来工作,并正确地使用它进行比较:
var d = new Date(y, m+1, 0);
My JS(缩短):
$('#btnStart').on('click', function(){
var date1, day1;
var date2, day2;
var d = 0;
var m = 0; // user input
var y = 2015; // user input
for (d = 0; d <= 30; d++) {
date1 = new Date(y, m, d+1);
day1 = date1.getDate();
date2 = new Date(y, m+1, d+1);
day2 = date2.getDate();
}
});
更新:这只需要在给定的一年内,所以它永远不会从12月到1月。
非常感谢任何帮助与此,迈克
如果在日期上加一天,得到的日期是下个月的第一天,则检查的日期是该月的最后一天。
之类的 isLast = (new Date(examinedDate.getTime() + 24*60*60*1000).getDate()) === 1
您应该使用date.getTime()来比较日期。
使用示例代码运行jsbin:
http://jsbin.com/puhuvirize/2/edit?js 输出这将给出月'm'的最后一天:
new Date(y, m + 1, 0)
将此添加到For循环
if(day2 < day1)
break;
使用一个简单的函数:
function isLastDay(y, m, d)
{
var d1 = (m < 11) ? new Date(y, m + 1, 0) : new Date(y, 0, 0);
var d2 = new Date(y, m, d);
return (d1.getTime() === d2.getTime());
}
相关文章:
- 在JavaScript中重构上个月的第一天和最后一天的代码(node.js)
- 如果今天是会计年度的最后一天,请从下拉菜单中删除当前年份
- 从'获取本月的最后一天;2015-02-23'字符串(javascript)
- 移除嵌套数组的最后一个元素,并完成最后一个数组
- 当日期在不同月份时,如何获取本周的第一天和最后一天
- 不知何故,应用程序脚本无法获得本月的最后一天
- JavaScript:获取每月的第一天和最后一天,格式为 YYYY.唰
- 如何使引导日期选择器选择当分钟视图模式:1时选择当月的最后一天而不是第一天
- 如何在Javascript中生成从当前天到最后一天的日期
- 如何在Javascript或JQuery中获取上个月的最后一天
- Moment.js返回1作为月份的最后一天
- 如何在JavaScript中使用日期对象获取最后一天的数据
- 获取特定年份和月份最后一天的日期对象datejs
- 时刻js得到本月的第一天和最后一天
- 将月份映射到该月份最后一天的编号
- 如何使用javascript验证日期是否为一个月的最后一天
- javascript获取前一周的第一天和最后一天
- 每月的最后一天(无时间戳)
- 如何检查日期是否是一个月的最后一天
- 计算每月的最后一天