我们在 Dayjs 中的 isSame 方法存在问题,因此我们将不胜感激。让我通过一个说明性的例子来解释我的观点。我们有两个 dayjs 对象,即:date 和 breakStartTest,它们在 00.00(当地时间)或 1637103600000 毫秒(见下面的查询)时都有以下值 2021-11-17。
date.isSame(breakStartTest, 'day') //false
此外,我们处于 CEST 时区。如果两个 dayjs 对象都采用本地时区,那么我们期望 isSame 返回 true,这意味着它们都发生在同一天。但是,在我们的例子中 isSame 返回 false。我们的理论是日期对象(参见上面的代码)假定本地时间,而 breakStartTest 对象自动转换为 UTC。下面的查询进一步证实了这一理论,我们将日期对象转换为 UTC 并且返回值为 true:
date.utc().isSame(breakStartTest, 'day') //true
我们进行了几次测试,所有测试都给出了相同的结果。我在下面附上了一张图片来说明我的观点(请原谅我的艺术品)