有人可以解释一下这个日期 - 2022-02-28T00:00:00.000Z?



首先,我是javascript的新手,因此如果我的问题没有任何意义,请原谅我。

我想知道这个日期到底代表什么:2022-02-28T00:00:00.000Z

在这里,可以理解为年份是 2022 年,月份是 2 月,日期是 28 日。之后,它将小时显示为 00,分钟显示为 00,秒显示为 00,毫秒显示为 000。 那么,会是28日午夜12点,2月27日午夜12点还是别的什么?

我问这个问题是因为我必须根据日期范围过滤一些日期。假设,我想要 2022 年 2 月 11 日至 20 日的数据,那么我应该将 toDate 作为 2022-02-20T00:00:00.000Z 还是 2022-02-20T23:59.59.999Z?

那么,它会是 28 日午夜 12 点、2 月 27 日午夜 12 点还是 别的?

2022-02-28T00:00:00.000Z将被视为28日午夜。

让我们通过一个例子来看一下:

//Date: 30th
var endDate = Date.parse("2022-07-30T00:00:00.000Z");
//Date: 29th
var currentDate = Date.parse("2022-07-29T11:59:59.999Z");
//Return true
console.log(endDate > currentDate);

结束日期被视为大于当前日期。

//Date 30th 
var endDate = Date.parse("2022-07-30T00:00:00.000Z");
//Date: 30th, Time:1/1000th of a second  
var currentDate = Date.parse("2022-07-30T00:00:00.001Z");
//Return false 
console.log(endDate > currentDate);

当当前日期时间大于结束日期 .001Z 时。当前日期被视为大于结束日期。因此是错误的。

来回答你的问题,

假设,我想要 2022 年 2 月 11 日至 20 日的数据,那么我应该 将日期作为 2022-02-20T00:00:00.000Z 或 2022-02-20T23:59.59.999Z ??

如果您想考虑在2022-02-20T00:00:00.000Z2022-02-20T23:59.59.999Z.也就是说,在 2022 年 2 月 20 日这一天。您需要将条件设置为date <= 2022-02-20T23:59.59.999Zdate < 2022-02-21T00:00.00.000Z

如果要考虑2022-02-19T23:59.59.999Z之前创建的数据。也就是说,直到 2022 年 2 月 19 日结束。您可以将条件设置为date <= 2022-02-19T23:59.59.999Zdate < 2022-02-20T00:00:00.000Z

最后的零意味着您的数据类型是日期列是当前时间戳,它将自动插入带有小时分钟和秒的日期。 如果您只想获取日期,则查询将如下所示: 从table_name中选择 * 日期(column_name) 作为shor_date;

相关内容

最新更新