格式化date对象,使其精度以秒为单位

Format date object such that its precision ends in seconds

本文关键字:精度 为单位 date 对象 格式化      更新时间:2023-09-26

在javascript中,是否有一种方法来格式化日期对象,以便删除毫秒。我试图这样做的原因是因为我试图删除在同一时间创建的mongo数据库中的所有重复项。如果使用当前的date对象,这是不可能的,因为不会同时创建两个对象,因为它们的毫秒是不同的。基本上,是否有一种格式化date对象的方法,使得如果两个date对象以秒(而不是毫秒)为单位具有相同的值,它们将被认为是相等的。

谢谢!

是的,在javascript中你可以这样做:

var d = new Date();
console.log(d.getMilliseconds()); // 0-999 value
d.setMilliseconds(0);
console.log(d.getMilliseconds()); // 0

您可以创建一个Date对象并指定您想要的确切时间(精度)。你可以这样做:

var startDate = new Date(2014, 5, 10, 2, 3, 4)
// in the shell it will be displayed like ISODate("2014-06-10T02:03:04Z")
var endDate = new Date(2014, 5, 10, 2, 3, 5)
// in the shell it will be displayed like ISODate("2014-06-10T02:03:04Z")
db.collection.remove({ created : { $gt : startDate, $lt: endDate }});

这将从集合中删除在2014年7月10日2h 3min 4sec和2014年7月10日2h 3min 5sec之间创建的所有文档。