我想得到日期之间的差异,但这种日期格式附带了时间和其他信息。2021-04-05T19:12:33.000Z
我们如何消除所有其他时间,只得到年、月、日字段来找出天之间的差异?
AKA如何转换2021-04-05T19:12:33.000Z
至
只有年月日而没有秒?2021-04-05T00:00:00.000Z
或者只是得到
2021-04-05?或者任何其他格式来获得2天之间的差异,而不考虑时间戳?
我正在考虑从字符串中提取年、月和日,并将其设置为字段。然后将其传递到
const year = ("2021-04-05T19:12:33.000Z").substring(0,4)
const month .. etc
手动创建新日期("2021年4月5日"(,但有更好的方法提取2021-04-05T19:12:33.000Z的月份、日期和年份吗?然后找到时差?
谢谢!
要提取不同的部分,只需解析日期:
const dt = new Date("2021-04-05T19:12:33.000Z")
console.log(dt.getFullYear())
console.log(dt.getMonth() + 1) // js is stupid and 0 indexes the month
console.log(dt.getDate())
然而,要查找两个日期之间的天数,
const dt1 = new Date("2021-04-05T19:12:33.000Z")
const dt2 = new Date("2021-04-11T19:12:33.000Z")
dt1.setHours(0);
dt1.setMinutes(0);
dt1.setSeconds(0);
dt1.setMilliseconds(0);
dt2.setHours(0);
dt2.setMinutes(0);
dt2.setSeconds(0);
dt2.setMilliseconds(0);
console.log((dt2 - dt1) / (24 /* hours */ * 60 /* minutes */ * 60 /* seconds */ * 1000 /* milliseconds */))