问题标签 [isodate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
796 浏览

mongodb - MongoDB - 使用酒店日期范围查询可用日期范围

我有一组对象,其中包含在 Mongo 中可以预订酒店的日期。它看起来像这样,使用这里所说的 ISO 日期格式。

下面是文档的样子,试图在示例中保持简短。

现在,我需要查询两个日期,入住日期和退房日期。如果日期可用,Mongo 应该返回文档,否则不会。下面是几个测试用例:

2014-04-06 2014-04-08不应返回

2014-04-13 2014-04-16不应返回

2014-04-17 2014-04-21 应该返回。

我将如何将其形成为 Mongo 查询?使用$elemMatch看起来会是一个好的开始,但我不知道在那之后将它带到哪里,所以我在上面发布的所有三个示例都使用相同的查询。任何帮助表示赞赏。

0 投票
1 回答
5750 浏览

node.js - MongoDB 中的日期对象与 Mongoose 和 Nodejs 聚合

我正在尝试使用 mongoose 对来自 nodejs 的聚合中的 Date 对象进行操作。我的数据库文档具有以下形式:

我正在尝试按如下方式计算当前年龄,这在 robomongo 和 shell 中运行良好

输出:

但我不能让它在猫鼬中工作。如果我使用相同的查询,则未定义 ISODate,如下所述:未定义 ISODate

因此,按照建议,我尝试了 Date() 的不同变体

如果我尝试将字符串转换为聚合中的日期,它无法正确转换,但在聚合之外它可以正常工作:

所以我不能使用直接引用 $dob 因为它被视为字符串。我不能使用 ISODate 转换,因为它没有定义并且我不能使用 new Date(),因为转换在聚合框架内是错误的。我已经广泛搜索,但找不到问题的解决方案。我怎样才能将我的 ISODate 字符串转换为正确的日期,或者首先直接获取日期而不离开聚合。非常感谢您的帮助。


尼尔回复后编辑:

这会产生:

谢谢!

0 投票
0 回答
141 浏览

javascript - Javascript 滚动 ISO 可追溯到本月的第一天

我将 ISO 日期存储在 MongoDB 集合中,并使用 PHP 将其提取出来。当我把它拉出来时,它是准确的日期(例如:)2014-06-01。我正在使用的 PHP 驱动程序将日期转换为 Unix 时间戳,该时间戳与我插入的日期 ( 2014-06-01) 是准确的。但是,当我将它带入 Javascript 时,日期显示为前一天 ( 2014-05-31)。我在该月的第一天输入的任何日期都会发生这种情况...... 8 月 1 日回滚到 7 月 31 日,7 月 1 日回滚到 6 月 30 日。

有谁知道这是为什么以及如何解决它?所有其他日期都是准确的,当我toISOString()在一个月的第一天打电话时,它反映了准确的日期。

0 投票
5 回答
16912 浏览

javascript - 在 Javascript 中修改 ISO 日期

我正在使用以下命令在 Javascript 程序中创建几个 ISO 日期:

var isodate = new Date().toISOString()

它以 . 格式返回日期"2014-05-15T16:55:56.730Z"。我需要从每个日期中减去 5 个小时。上述日期将被格式化为"2014-05-15T11:55:56.730Z"

我知道这很hacky,但非常感谢快速修复。

0 投票
2 回答
297 浏览

javascript - 格式化 ISO 日期

我进行了 API 调用并获得了响应。响应具有这样的日期时间值

我猜这是 ISO 日期格式。我无法使用 javascript 将其格式化为人类可读的格式。

0 投票
2 回答
9313 浏览

scala - joda time ISO DateTime 格式

我正在使用 joda time 来格式化我的 ISO 日期输入字符串,但我收到一个异常,即我的 ISO 日期格式错误:

这是我的代码:

这里有什么问题?

0 投票
1 回答
256 浏览

php - 使用 PHP 更改 ISO 8601 日期格式

我正在尝试使用数据类型获取当前日期/时间:ISODateTime 和格式:YYYY-MM-DDTHH:MM:SS 例如 2012-02-06T08:35:30。我搜索了如何在 PHP 中执行此操作,发现我可以使用;

尽管这个输出几乎是正确的,但并不是我所需要的,而且我不知道如何改变它,但它的当前输出是;

2014-07-01T10:53:10+02:00

我的问题是我需要删除“+02:00”,而且这个时间比我当地时间早一个小时,这正是我所需要的。因此,在这个例子中,我会要求;

2014-07-01T09:53:10

任何帮助将非常感激。谢谢。

0 投票
0 回答
1002 浏览

java - camel-mongodb save java.util.Date as ISODate instead of NumberLong

I'm using Apache Camel 2.13.1 and MongoDB 2.2.2. I have the following route:

The file consumer endpoint takes an XML file and unmarshall it to a POJO that contains several fields with data type int, String and java.util.Date. It saves/insert fine but the date field is saved as type NumberLong, instead of type ISODate.

But if I save it by using the MongoDB Java driver (i.e. creating DBObject, map a key with a field "new Date()"), it will save as ISODate in MongoDB. Any way I can do this by just using camel XML DSL?

EDIT: Digging into the codes and documentation, camel-mongodb is using Jackson that first will convert it to a Map, then to a BasicDBObject. Is there a way in the XML DSL I can configure the behaviour of Jackson? Last resort would be to write a custom type converter.

0 投票
1 回答
1800 浏览

mongodb - logstash mongodb 输出和 ISODate 类型

我在尝试将日期类型字段转换为 mongoDB 格式(ISODate)时遇到了一些麻烦。

我有一个带有 JSON 消息的 RabbitMQ 队列。这些消息具有这样的 Date 属性:

我的 logstash 服务读取 RabbitMQ 队列并将消息注入 mongoDB。

这是我的logstash配置文件:

我的问题是我的日期属性被插入为字符串而不是日期。如何告诉 Logstash 将我的 Date 字段作为 ISODate 字段插入 mongoDB?

谢谢

0 投票
0 回答
467 浏览

javascript - Ember Data:将 ISO 日期字符串转换为日期

序列化程序的Ember 文档提到日期属性以某种方式解析:

默认情况下,属性按原样传递,除非您指定了属性类型 (DS.attr('date'))

但是,当我返回表单的 ISO 样式日期时2014-08-13 14:37:53,我的 Ember 检查器显示我的日期属性只是空对象。我已经使用自定义序列化程序手动反序列化这些,但如果可能的话,我想使用默认的 Ember Data 方法。

我在文档中遗漏了什么吗?