javascript - 如何判断两个日期是在同一天还是同一小时?

标签 javascript typescript

<分区>

JavaScript Date 对象比较日期和时间包括,所以,如果你比较: time1.getTime() === time2.getTime(),如果至少有 1 毫秒不同,它们将为 “false”

我们需要有一个很好的方法来按小时、天、周、月、年进行比较? 其中一些很简单,例如年份:time1.getYear() === time2.getYear() 但是对于日、月、小时,它更复杂,因为它需要多次验证或划分。

是否有任何好的模块或优化代码来进行这些比较?

最佳答案

Date 原型(prototype)具有允许您检查年月日的 API,这看起来简单而有效。

您将要决定您的应用程序是否需要从代码运行的区域设置的 Angular 来看相同的日期,或者比较是否应基于 UTC 值。

function sameDay(d1, d2) {
  return d1.getFullYear() === d2.getFullYear() &&
    d1.getMonth() === d2.getMonth() &&
    d1.getDate() === d2.getDate();
}

有相应的 UTC getters getUTCFullYear()getUTCMonth()getUTCDate()

关于javascript - 如何判断两个日期是在同一天还是同一小时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43855166/

相关文章:

javascript - Angular 中的 url 更改时模板闪烁

javascript - 如何在 Angular 可见时刷新组件

typescript - slim 的 : imported typescript files not recognized

javascript - JSON Web token (JWT) - 验证客户端

javascript - 将属性从父级复制到 Angular Directive(指令)中的内部控件

typescript - 未定义的组件没有路由配置,也就是如何配置 Angular 2 路由器进行单元测试?

javascript - 带有分页 : no rows displayed 的 AngularJS ng 表

另一种类型的每个属性的 Typescript 联合类型

javascript - Angular 图不像文档那样在顶部显示系列

javascript - 无法在 Python 中从 javascript 解析 json post