【问题标题】:How to get in .toDate() object beginning of day and end of day?如何在一天的开始和一天结束时进入 .toDate() 对象?
【发布时间】:2021-10-24 10:08:15
【问题描述】:

我需要在昨天开始和昨天结束之间在我的 mongoDB 中查询

T00:00:00 和 T11:59:59

但是,每次我将 .toDate() 方法添加到任何时刻/或常规 javascript 方法时,它都会增加 7 个小时的时间或什么? 每次我添加 UTC 时间时,它都会增加另一天,这也是不正确的。 我能做些什么? 谢谢

【问题讨论】:

    标签: javascript


    【解决方案1】:

    首先,您需要获取昨天的日期,如post 中所述,您可以使用:

    let date = new Date();
    
    date.setDate(date.getDate() - 1);
    

    然后您可以在日期对象上使用.setHours() 手动设置小时,例如将小时设置为午夜:

    let date = new Date();
    
    date.setHours(0,0,0,0);
    

    有关javascript中日期对象的更多信息,您可以查看mdn docs

    如果你将两者结合起来,你就会得到你想要的:)

    【讨论】:

    • 这会返回一个日期对象吗?我需要用它来查询我的 mongodb 中创建的 At 字段
    • new Date() 返回一个 Date 对象,.setDate().setHours() 都修改对象本身。但是您可以使用.format() 方法根据需要格式化日期。我鼓励您查看有关日期对象的文档
    • 它仍然给我 T07:00 而不是 T00:00
    猜你喜欢
    • 2012-10-30
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 2018-09-29
    • 2022-11-20
    • 2012-01-28
    • 1970-01-01
    相关资源
    最近更新 更多