【发布时间】:2016-12-08 13:20:30
【问题描述】:
我目前正在开发一个系统,该系统具有基于日期范围的规则,
用户可以提交表单,我需要检查日期输入是否适合 3 个日期范围中的 1 个。基本上 2 个日期需要在以下 3 个规则中的 1 个内,
01/01 - 30/04 01/05 - 30/09 01/10 - 31/12,
我需要确定开始日期的月份和结束日期的月份,如果结束日期超出它的范围,请记录它。
所以基本上,如果用户提交 01/01/2017 作为开始日期和 10/02/2017 作为结束日期,这将是一个有效的输入,但如果用户输入 01/01/2017 作为开始日期日期,并将 01/06/2017 作为结束日期,因为该日期跨越多个日期范围,所以该日期无效。
是否可以用 javascript 检查这种事情?我经历了各种场景,但数组中的范围和检查数组值,但我一直让自己一团糟。
【问题讨论】:
-
你已经添加了 momentjs 标志,所以看看他们的文档,它让一切变得简单!只需在您的开始日期和结束日期中创建两个时刻(例如
var startMoment = moment(start_date)),然后您可以在刚刚创建的那一刻通过调用get('month')来获取他们的月份。 -
由于您的日期范围跨越一年,请考虑编写一个以日期为输入的函数,并根据日期所在的范围返回 0、1 或 2。然后您的任务就来了检查开始日期和结束日期的函数是否相同(有时您可能还会检查开始
-
看起来您还需要检查两个用户日期是否相同。
标签: javascript date momentjs