我需要检查是否需要找出两个时间戳是否来自不同日期的情况。
我尝试使用timestamp.getDate然后检查
if (currentTimestamp.getDate() > previousTimestamp.getDate() )
当两个值分别属于两个月时,就会出现问题,如何用纯Javascript处理呢?
最佳答案
有多种方法可以实现此目的。
如果currentTimestamp是字符串,则只需获取日期部分(年,月,日)并进行比较。您还没有显示格式,所以如何操作取决于您。
如果currentTimestamp是一个日期,则可以使用nnnnnn的建议并比较日期字符串:
if (currentTimestamp.toDateString() == previousTimestamp.toDateString())
但是,由于toDateString的值取决于实现,因此只能在主机中使用,因此不应在主机之间比较字符串。
如果您不介意修改“日期”值,则:
if (currentTimestamp.setHours(0,0,0,0) == previousTimestamp.setHours(0,0,0,0))
如果两者都在同一天,也会返回true。如果您不想更改日期,请先复制它们:
if (new Date(+currentTimestamp).setHours(0,0,0,0) == new Date(+previousTimestamp).setHours(0,0,0,0))
随便什么。
而且正如Matt所言,您的“天”的概念应澄清为当地日或UTC日(或任何其他时区),因为在本地日开始和结束附近的时间可能在不同的UTC(或其他时区)日,反之亦然。