Tag: datetime

Javascript与时间之间的时区转换

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

在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应用程序的差距? 有没有一个确定的最佳做法呢?

如何禁用moment.js日光时区转换

可以禁用moment.js中的日光时区转换? $scope.obj.date = moment('2016-06-03T04:00:00.000Z'); 基本上我的应用程序只处理事件和date,但是moment.js转换夏令时导致date问题。 是否有任何设置可以在整个应用程序使用中禁用它?

从时区转换中提取时间(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 。

node.js中的Date对象有一些奇怪的行为

我正在用NODEtesting一段时间,并且遇到了JS Date()对象的奇怪行为。 getDay()和getMonth()函数返回不正确的结果。 我以为我的应用程序在某种程度上搞砸了,但是我也在控制台中进行了testing,仍然是一样的行为。 这是我的控制台日志: $ node > var currentDate = new Date(); undefined > currentDate Wed Jun 19 2013 13:54:20 GMT+0200 (CEST) > currentDate.getDay() 3 > currentDate.getMonth() 5 这似乎是“一点点”。 我现在不知道发生了什么,networking研究也没有帮助我。

新的date()在错误的时区

在这篇文章的时候,我目前的时间是2017-01-10T19:23:00.000Z但是new Date()给了我2017-01-11T00:23:19.521Z比我目前的时区提前了5个小时。 这会影响我的数据存储在MongoDB中的方式。 我知道我可以设定时间到5小时前使用 var datetime = new Date(); datetime.setHours(datetime.getHours()-5); 但是我会更喜欢更好的方式来做到这一点。 我试着用这个。 我仍然有同样的时间。 在我的代码的其他部分我得到Tue Jan 10 2017 19:54:30 GMT-0500 (EST)不同于最初的时间。 如果有人能指出这里有什么问题,我会很高兴。

find指定date后的第一个文件

我有一种情况需要关联两个集合之间的数据。 我想从一个集合中的文档中获取时间,然后在另一个集合中find第一个或之后的文档。 时代通常是不一致的,可能会出现两者之间的时间差距巨大的情况。 我目前正在使用(在Node.js,使用本机驱动程序): coll.find({ 'TimeIndex': { '$lt': new Date(startTime.getTime() + 1000*10), '$gte': startTime } }); 但是,烘烤的假设是在10秒内会有一个点。 如果没有? 那么我需要做一些扩大的search? 我可以删除这个$ lt,只是取第一个sorting结果,但是我担心search空间太大,会变得非常慢。 有没有更好的方法来做到这一点,我错过了?

Cassandra – 插入时使用错误的时区

这是我试图插入到我的数据库的date: '1970-01-18T00:00:00+00:00' 但是当我查看数据库中的条目时,它的背后是8个小时: 1970-01-17 16:00:00 我的Ubuntu系统上使用的时区是UTC。 我通过在terminalinputdate检查输出: Tue Oct 4 00:00:53 UTC 2016 我正在使用node.js,这实际上是用来插入的代码: const Cassandra = require( 'cassandra-driver' ); const Promise = require( 'bluebird' ); const db = Promise.promisifyAll( new Cassandra.Client({ contactPoints: ['127.0.0.1'], keyspace: 'project' }) ); let date_created = '1970-01-18T00:00:00+00:00'; db.executeAsync( "INSERT INTO posts (id, date_created) VALUES (?, ?);", [someID, date_created], {prepare: true} […]

寻找一种方法来检索当前时间为x的时区

我正在寻找一种方法来获得当前时间是一个variables的时区列表(它也必须是DST相关的)。 例如,我需要推送消息给当地时间是18:45的用户。 我可以从我们的数据库获取按时区的用户列表。 所以我计划一个预定的事件,每隔15分钟就会醒来,为了能够找回正确的用户,需要检查当前是哪个时区18:45。 我们的环境是节点js。 我想到的方式最好是一个Web服务或一些实用工具,包括iana时区数据库的更新。 但是,如果没有这样的select,我可以处理不太方便的方法。 提前致谢。

将utc时间戳转换为使用偏移量的本地时间秒数

我需要在几秒钟内使用utc偏移量将utc时间戳转换为本地时间。 我曾经使用时区时区库。 这是我的代码 var moment = require('moment-timezone'); var timestamp = Date.now(); var IST1 = moment(timestamp).utcOffset('+05:30').format('ddd MMM DY hh:mm:ss A ') console.log("IST1 '+05:30' –> ", IST1); var IST2 = moment(timestamp).utcOffset('+19800').format('ddd MMM DY hh:mm:ss A ') console.log("IST2 '+19800' –> ", IST2); 但是我得到这样的输出 IST1 '+05:30' –> Mon Jun 19 2017 01:39:23 PM IST2 '+19800' –> Tue Jun 20 […]