Tag: 时区

在服务器中没有UTC时区问题?

服务器运行的时区有什么关系? 假设我使用时间的唯一时间是在数据库中创build对象时的时间戳。 觉得只要时间戳是UTC就没关系 服务器可能在其他时区运行,但只要我保存在UTC,它应该不是问题吗? 时区重要的例子是什么?

Mongoose使用UTC时间保存和检索date,更改为服务器时区

我正在使用mongoose模型来保存我的logging,包括创build和更新的date。 这是我的模型模式: var CasesModelSchema = new mongoose.Schema( { caseId: Number, sessionId: String, createdAt: {type: Date}, updatedAt: {type: Date, default: Date.now}, docs: mongoose.Schema.Types.Mixed }, { collection: 'cases' } ); 我面对的问题是updatedAt字段将date时间保存为ISODate("2017-04-24T12:40:48.193Z") ,这是UTC,但我的服务器的时区是Asia/Calcutta 。 由于我需要根据服务器的时间进行查询,所以我需要将date时间保存在我的首选时区。 这是我需要执行的查询(获取过去10天的所有数据) var today = moment(moment().format('YYYY-MM-DD')).toDate(); var tenDaysDate = moment(moment().format('YYYY-MM-DD')).add(-10, 'days').toDate(); CasesModel.findOne({updatedAt: {$gte: tenDaysDate, $lt: today}}, function(err, caseData){ cl(caseData, __line); }); 我想要的是在10天前的Asia/Calcutta时区到今天的午夜( Asia/Calcutta时区)的最后10天内,查询所有更新的logging。 我怎么做?

如何使用时区以毫秒为单位将时间转换为不同的当地时间

我需要使用node.js或JavaScript将毫秒时间转换为特定的时区。 我有一个unix时间“1497678894647”。 我需要将其转换为当地时间的PDT,MDT,CDT,EDT,MST,EST和IST。 我有以下代码示例。 var timezoneJS = require('timezone-js'); var PDT = new timezoneJS.Date('1497680592200', 'America/New_York'); var MDT = new timezoneJS.Date('1497680592200', 'America/Chihuahua'); var CDT = new timezoneJS.Date('1497680592200', 'America/Havana'); var EDT = new timezoneJS.Date('1497680592200', 'America/Detroit'); var MST = new timezoneJS.Date('1497680592200', 'America/Creston'); var IST = new timezoneJS.Date('1497680592200', 'Asia/Kolkata'); console.log("PDT –> ", dt); console.log("MDT –> ", dt); console.log("CDT –> ", […]

Node.js在哪里得到它的时区,我怎样才能全局设置它?

我正在运行Windows 10 Professional,并将我的时区和区域设置设置为布里斯class/澳大利亚(UTC + 10:00)。 此外,我正在为我正在构build的应用程序在我的系统上运行Node.js。 我在Node.js中运行以下内容: var x = new Date(); console.log(x); 它返回了以下内容: 2017-09-07T23:42:33.719Z 注意date时间string结尾的Z? 这代表祖鲁时间。 (UTC + 0) 我认为这是在没有指定时区时在Node.js中默认设置的。 如何在Node.js中全局指定时区,以确保所有的date对象都正确返回?

时区或UTC位置的偏移量

我需要库,可以将时区转换为utc偏移量。 我有美国城市名单,我知道他们的区域(PST,EST ….)和地点。 所以我的策略可以 library.getOffset('city location') myLibraryOrOtherLibrary.getOffset( 'EST') 我知道图书馆的时刻。但是图书馆并不支持所有的美国城市,像下面这样的东西 moment().tz("America/Los_Angeles").format(); 我应该自己实现一些东西,还是有一些其他的库,或者我可以以其他方式使用moment.js?

Javascript与时间之间的时区转换

在我的应用程序中,用户selectdate+时间和时区。 这个select必须在其自己的时区显示给其他用户,这意味着如果纽约的用户Aselect了美国东部时间8月8日凌晨3点,北京的用户B将把这个date时间转换为中国标准时间(CST)。 为了做到这一点,我想 – 我可以保存用户A的date,并告诉他从4个时区中select。 服务器端我将它从EDTselect转换为UTC时区,并将其保存为数据库中的UTC,以便当我读取它时,根据自己的时区将其转换回其他用户。 这是一个正确的方法还是我过分复杂的事情? 目的是用户A可以select她想要的时区,数据库保存为标准化的UTC,目标用户在他自己的时区看到。 (im使用node.js服务器btw)谢谢,

如何使用Moment.js获取EST的开始时间和当前时间

我想使用Moment.js(EST)创build开始和结束时间戳: StartTime将是今天的开始时间 EndTime将是当前时间。 我已经使用了moment.js并像这样创build var time = new Date(); var startTime=Date.parse(moment(time).startOf('day').tz('America/New_York').format("MM/DD/YYYY HH:mm:ss")); var endTime=Date.parse(moment(time).tz('America/New_York').format("MM/DD/YYYY HH:mm:ss")); 它以毫秒为单位给出时间。 这是正确还是错误? 我没有从数据库获取数据,因为时间戳中存在不匹配。

在Node.JS中输出用户时区中的时间戳的最佳方法

我的应用程序正在logging某些用户事件以在UI中显示。 时间戳被存储为Mongo中的date,这些date成为JS Date对象,带有与服务器时区相关的时区信息。 我使用的是moment.js来格式化date,但由于我的用户在澳大利亚,我的应用程序托pipe在Heroku (服务器时区是UTC),那么moment.js帮助输出的“本地”时间不是我的用户想看看。 Moment.js允许您在UTC和“本地”时间(在服务器上)之间切换,但似乎不允许您在不同时区的上下文中输出。 (更改服务器的时区不能解决潜在的问题,这对我的一些用户也是错误的。) 我试图使用节点时间库来更改date的时区,如果我然后简单地使用Date.toString()输出时间戳,但是如果date被Moment.js包装,它会恢复到服务器的时区。 我可以通过计算用户本地时区和服务器本地时区之间的差异来修改一个解决scheme,并在Moment.js格式化之前修改date,但是我希望有一个更优雅的解决scheme,或者(b) )一个好的图书馆,将这样做。 我也可以输出UTC的date,让客户端库重新格式化他们,但我更喜欢有一个服务器端的解决scheme。 有没有人知道一个很好的解决scheme,或者一个库,填补Node.JS应用程序的差距? 有没有一个确定的最佳做法呢?

在ExpressJS中获取客户端的时区偏移量

我正在寻找一种方法来获取ExpressJS中的客户端时区偏移量(例如,req对象将非常棒)。 谢谢你

从时区转换中提取时间(HH:MM)

这段代码使用node.js的moment-timezone来获取纽约时间。 var moment = require('moment-timezone'); var time_output= moment().tz("America/New_York").format(); time_output看起来像这样2015-11-12T05:09:49-05:00 我想格式化time_output ,使其格式(HH:MM),看起来像05:09 。