问题标签 [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.
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看起来会是一个好的开始,但我不知道在那之后将它带到哪里,所以我在上面发布的所有三个示例都使用相同的查询。任何帮助表示赞赏。
node.js - MongoDB 中的日期对象与 Mongoose 和 Nodejs 聚合
我正在尝试使用 mongoose 对来自 nodejs 的聚合中的 Date 对象进行操作。我的数据库文档具有以下形式:
我正在尝试按如下方式计算当前年龄,这在 robomongo 和 shell 中运行良好
输出:
但我不能让它在猫鼬中工作。如果我使用相同的查询,则未定义 ISODate,如下所述:未定义 ISODate
因此,按照建议,我尝试了 Date() 的不同变体
如果我尝试将字符串转换为聚合中的日期,它无法正确转换,但在聚合之外它可以正常工作:
所以我不能使用直接引用 $dob 因为它被视为字符串。我不能使用 ISODate 转换,因为它没有定义并且我不能使用 new Date(),因为转换在聚合框架内是错误的。我已经广泛搜索,但找不到问题的解决方案。我怎样才能将我的 ISODate 字符串转换为正确的日期,或者首先直接获取日期而不离开聚合。非常感谢您的帮助。
尼尔回复后编辑:
这会产生:
谢谢!
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()
在一个月的第一天打电话时,它反映了准确的日期。
javascript - 在 Javascript 中修改 ISO 日期
我正在使用以下命令在 Javascript 程序中创建几个 ISO 日期:
var isodate = new Date().toISOString()
它以 . 格式返回日期"2014-05-15T16:55:56.730Z"
。我需要从每个日期中减去 5 个小时。上述日期将被格式化为"2014-05-15T11:55:56.730Z"
我知道这很hacky,但非常感谢快速修复。
javascript - 格式化 ISO 日期
我进行了 API 调用并获得了响应。响应具有这样的日期时间值
我猜这是 ISO 日期格式。我无法使用 javascript 将其格式化为人类可读的格式。
scala - joda time ISO DateTime 格式
我正在使用 joda time 来格式化我的 ISO 日期输入字符串,但我收到一个异常,即我的 ISO 日期格式错误:
这是我的代码:
这里有什么问题?
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
任何帮助将非常感激。谢谢。
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.
mongodb - logstash mongodb 输出和 ISODate 类型
我在尝试将日期类型字段转换为 mongoDB 格式(ISODate)时遇到了一些麻烦。
我有一个带有 JSON 消息的 RabbitMQ 队列。这些消息具有这样的 Date 属性:
我的 logstash 服务读取 RabbitMQ 队列并将消息注入 mongoDB。
这是我的logstash配置文件:
我的问题是我的日期属性被插入为字符串而不是日期。如何告诉 Logstash 将我的 Date 字段作为 ISODate 字段插入 mongoDB?
谢谢