Javascript 使用Moment.js从日期数组中查找最近的第二天

Javascript 使用Moment.js从日期数组中查找最近的第二天,javascript,arrays,date,momentjs,Javascript,Arrays,Date,Momentjs,我有一个数组: dates = [ "2019-10-04T12:38:02.506204+00:00", "2019-10-04T14:59:39.370487+00:00", "2019-10-04T14:59:50.897597+00:00", "2019-10-04T14:59:57.344401+00:00", "2019-10-04T15:00:04.631711+00:00", "2019-10-04T15:00:13.460667+00:00", "2019-10-04T15:0

我有一个数组:

dates = [
"2019-10-04T12:38:02.506204+00:00",
"2019-10-04T14:59:39.370487+00:00",
"2019-10-04T14:59:50.897597+00:00",
"2019-10-04T14:59:57.344401+00:00",
"2019-10-04T15:00:04.631711+00:00",
"2019-10-04T15:00:13.460667+00:00",
"2019-10-04T15:00:21.672496+00:00",
"2019-10-04T15:00:29.643194+00:00",
"2019-10-04T15:00:37.022307+00:00",
"2019-10-04T15:01:00.134239+00:00",
"2019-10-04T15:01:08.146224+00:00",
"2019-10-04T15:01:15.205999+00:00",
"2019-10-04T15:01:21.877861+00:00",
"2019-10-04T15:01:28.089368+00:00",
"2019-10-04T16:29:05.438103+00:00",
"2019-10-04T16:29:49.927139+00:00",
"2019-10-05T16:35:00.994699+00:00",
"2019-10-06T08:45:47.289637+00:00",
"2019-10-06T08:46:11.294362+00:00",
"2019-10-06T08:46:23.702585+00:00",
"2019-10-06T08:46:33.374726+00:00",
"2019-10-06T08:46:42.726666+00:00",
"2019-10-06T08:46:52.916887+00:00",
"2019-10-06T08:47:02.659273+00:00",
"2019-10-06T16:08:14.975139+00:00",
"2019-10-06T16:08:29.047735+00:00",
"2019-10-06T16:08:42.831487+00:00",
"2019-10-06T16:08:58.472631+00:00",
"2019-10-07T08:32:43.248706+00:00",
"2019-10-07T08:37:00.512249+00:00",
"2019-10-07T08:38:12.188744+00:00",
"2019-10-07T08:40:08.362515+00:00",
"2019-10-07T08:41:57.151322+00:00",
"2019-10-07T08:46:52.107963+00:00",
"2019-10-07T08:53:38.604697+00:00",
"2019-10-07T08:53:53.449463+00:00",
"2019-10-07T09:15:31.659223+00:00"
]
我需要用两个按钮进行切换,第一个按钮将日期向前切换,第二个按钮将日期向后切换。 日期是从数组中使用的

请提供JS帮助。

您可以在Moment.JS对象上使用该方法。如果将第二个参数传递为<代码>“天”< /代码>,则会考虑:

  • “2019-10-04T12:38:02.506204+00:00”
    (10月4日)在
    “2019-10-05T16:35:00.994699+00:00”
    (10月5日)之前
  • “2019-10-04T12:38:02.506204+00:00”
    (10月4日)在
    “2019-10-04T14:59:39.370487+00:00”
    (10月4日)之前不是
let dates=[
“2019-10-04T12:38:02.506204+00:00”,
“2019-10-04T14:59:39.370487+00:00”,
“2019-10-04T14:59:50.897597+00:00”,
“2019-10-04T14:59:57.344401+00:00”,
“2019-10-04T15:00:04.631711+00:00”,
“2019-10-04T15:00:13.460667+00:00”,
“2019-10-04T15:00:21.672496+00:00”,
“2019-10-04T15:00:29.643194+00:00”,
“2019-10-04T15:00:37.022307+00:00”,
“2019-10-04T15:01:00.134239+00:00”,
“2019-10-04T15:01:08.146224+00:00”,
“2019-10-04T15:01:15.205999+00:00”,
“2019-10-04T15:01:21.877861+00:00”,
“2019-10-04T15:01:28.089368+00:00”,
“2019-10-04T16:29:05.438103+00:00”,
“2019-10-04T16:29:49.927139+00:00”,
“2019-10-05T16:35:00.994699+00:00”,
“2019-10-06T08:45:47.289637+00:00”,
“2019-10-06T08:46:11.294362+00:00”,
“2019-10-06T08:46:23.702585+00:00”,
“2019-10-06T08:46:33.374726+00:00”,
“2019-10-06T08:46:42.726666+00:00”,
“2019-10-06T08:46:52.916887+00:00”,
“2019-10-06T08:47:02.659273+00:00”,
“2019-10-06T16:08:14.975139+00:00”,
“2019-10-06T16:08:29.047735+00:00”,
“2019-10-06T16:08:42.831487+00:00”,
“2019-10-06T16:08:58.472631+00:00”,
“2019-10-07T08:32:43.248706+00:00”,
“2019-10-07T08:37:00.512249+00:00”,
“2019-10-07T08:38:12.188744+00:00”,
“2019-10-07T08:40:08.362515+00:00”,
“2019-10-07T08:41:57.151322+00:00”,
“2019-10-07T08:46:52.107963+00:00”,
“2019-10-07T08:53:38.604697+00:00”,
“2019-10-07T08:53:53.449463+00:00”,
“2019-10-07T09:15:31.659223+00:00”
]
设currentDate=时刻(日期[0])//为“当前时间”选择一个地点
//对日期进行排序以确保它们是连续的
dates.sort();
让nextDate=日期。
筛选(isoDate=>currentDate.isBefore(isoDate,“day”)//筛选当前日期之前的任何内容
[0]; //以第一个(最低)日期为准
控制台日志(下一个日期)
如何确定“第二天”的含义?相对于今天?相对于另一个日期?@VLAZ数组中有“currentDate”var-min date。那么您想要下一个日期(
“2019-10-04T14:59:39.370487+00:00”
)还是新的一天的下一个日期(
“2019-10-05T16:35:00.994699+00:00”
)?