gpt4 book ai didi

javascript - 返回自午夜以来创建的文档

转载 作者:IT老高 更新时间:2023-10-28 13:26:09 25 4
gpt4 key购买 nike

我想查找自午夜以来创建的所有文档,无论用户时区如何。如果用户在太平洋时间,它应该显示他们自太平洋午夜以来的所有文件。与东部时间相同。

我在东部时间,这对我有用:

var d = new Date();
var midnight = d.setHours(0,0,0,0); // last midnight

var count = Items.find({
username: Meteor.user().username,
createdAt: { $gt: midnight }
}).count();

但我的客户在 CST,但对他不起作用。相反,它显示自前一天 CST 晚上 10 点或 11 点以来创建的文档。所以这对我来说似乎是一个时区问题。

最佳答案

假设这只是一个客户端问题(所有时间都以 UTC 存储在服务器上),那么您可以通过执行以下操作获得用户当前时区午夜的 UTC 调整时间:

var now = new Date();
var midnight = new Date(now.getFullYear(), now.getMonth(), now.getDate());
var midnight_utc = new Date(Date.UTC(now.getFullYear(), now.getMonth(), now.getDate()));

看到这个 fiddle :https://jsfiddle.net/Lbk1vo0j/1/例如,对于我当前的时区(东部),我得到以下值,即现在、午夜和午夜时间(使用 toLocaleString() 方法打印 Date 对象时):

3/30/2015, 3:06:39 PM
3/30/2015, 12:00:00 AM
3/29/2015, 8:00:00 PM

关于javascript - 返回自午夜以来创建的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29291316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com