Javascript 检查一个日期是否介于两个日期之间,可以显示上一年的正确日期

Javascript 检查一个日期是否介于两个日期之间,可以显示上一年的正确日期,javascript,Javascript,我使用下面的脚本检查某个日期是否在本月,但我的问题是,即使是“08/01/2017”这样的日期,它也会标记“当前月” var date = new Date(); var firstDay = new Date(date.getFullYear(), date.getMonth(), 1); var lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0); var fd = date2str(firstDay, "MM/dd

我使用下面的脚本检查某个日期是否在本月,但我的问题是,即使是“08/01/2017”这样的日期,它也会标记“当前月”

var date = new Date();
var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
var lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);

var fd = date2str(firstDay, "MM/dd/YYYY")
var ld = date2str(lastDay, "MM/dd/YYYY")
var check = date2str(registration_date, "MM/dd/YYYY")

var flag;
if(check <= ld && check >= fd)
flag = 'current_month';
else (flag = 'not_current_month')
var-date=新日期();
var firstDay=新日期(Date.getFullYear(),Date.getMonth(),1);
var lastDay=新日期(Date.getFullYear(),Date.getMonth()+1,0);
var fd=date2str(第一天,“MM/dd/YYYY”)
var ld=date2str(最后一天,“MM/dd/YYYY”)
var检查=date2str(注册日期,“MM/dd/YYYY”)
var标志;
如果(检查=fd)
标志='当前月份';
else(标志='不是当前月份')

例如,您似乎正在进行比较

2017年5月8日至2019年3月8日

其中08/05。。。确实大于08/03

您需要使用yyyy/mm/进行比较

像这样:

函数sameMonth(str){ var d=新日期(); var compareMonth=d.getFullYear()+d.getMonth(); d=新日期(str); 返回compareMonth===d.getFullYear()+d.getMonth(); } console.log(sameMonth(“2019年8月3日”);//这将在2019年8月实现
console.log(sameMonth(“8/3/2018”)请单击然后
[]
并创建一个感谢@mplungjan。你能指出我的代码有什么问题吗?不,你的代码不完整。正如我所要求的,创建一个新的,也许我可以看一看。什么是date2str?我发现为了比较日期,我需要将它们转换为MM/dd/YYYY格式,这是我用date2str实现的。我将str2date更改为“YYYY/MM/dd”,效果很好!非常感谢。