DateTime 的 Tsx luxon 类型

Tsx luxon type of DateTime

我有 luxon 格式的日期,当我尝试从控制台打印信息时,它告诉我:

我收到以下错误 TS2339: Property 'c' does not exist on type 'DateTime'.:

这是因为我声明最后一天元素的类型是 DateTime

luxon 有自己的格式可以导入吗?

或者有没有办法为 luxon 创建数据时间类型,这样就不会出现错误。

你能帮帮我吗?

代码:

  const lNow = DateTime.now();
  const lThreeMonthsAgo = lNow.minus({month: 3}).startOf("week");
  let num = Math.ceil(lNow.diff(lThreeMonthsAgo, "days").days);
  let lastDays = [...Array(num).keys()].reduce(
      (acc, val) => [...acc, lThreeMonthsAgo.plus({day: val})],
      [] as Array<DateTime>
  );

  const month = lastDays.reduce((acc, val) => [...acc, val.c.month], [] as Array<number>);
  const unique_month = [...new Set(month)];

我对 luxon 没有任何经验,但输入显示 yearmonth 等被声明为访问器,因此您可以直接在 [= 上索引它们12=] 对象,即将 val.c.month 替换为 val.month.

TypeScript playground