Tag: date

如何保存date保存在MongoDB中的客户端date?

我正在使用Node.js和Angular.js为一个Web项目。 我知道date是保存为date,如果它是在服务器上使用新的date()(例如2015-04-08 04:15:18.712Z在Robomongo中显示为datetypes)创build的。 但是,如果在客户端使用新的Date()创builddate,则会将其保存为一个string(例如2015-04-07T04:58:12.771Z在Robomongo中显示为Stringtypes),因为它通过节点API 。 如何使它保存为date而不是string? 更新:这是我得到的基于Jason Cust的input。 在节点的server.js中指定reviver选项,如下所示: app.use(bodyParser.json({ reviver: function(key, value) { if ( typeof value === 'string' && value.length === 24) { if (value.match(/^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d\d\dZ$/)){ return new Date(value); } } return value; }})); 当数据从客户端发送到服务器时,这将自动将所有datestring转换为date对象。 如果你想为Angular.js客户端做同样的事情,我发现一个由Andrew Davey编写的好博客用AngularJS自动JSONdate分析

检索MongoJS中的date

我试图在mongojs中存储和检索一个date。 这是如何保存的: var game = { startedOn: new Date() }; db.games.save(game); 当我拿到它时,date不再是date。 这是某种约会的一种包装。 _d字段似乎是一个date,但奇怪的是,我应该不得不这样访问它。 db.games.find(function(err, games){ console.log(game[0].startedOn); }); 这logging: { _useUTC: true, _isUTC: true, _l: null, _i: null, _f: null, _d: Sun Jun 09 2013 21:49:26 GMT-0500 (CDT) } 在mongo-js中存储/检索date的正确方法是什么?

date查询MySQL

我想做一个查询,将select表中的所有行… 查询是:从dbuser中selectdate; +————+ | date | +————+ | 2015-05-28 | | 2015-05-29 | | 1994-11-11 | | 2010-01-01 | | 2003-04-30 | +————+ 但是输出不一样: { date: Thu May 28 2015 00:00:00 GMT+0200 (Romance Summer Time) } { date: Fri May 29 2015 00:00:00 GMT+0200 (Romance Summer Time) } { date: Fri Nov 11 1994 00:00:00 […]

查找下一个繁忙时间的免费小时

使用Google Calendar API时,需要: start (epoch时间) end (epoch时间) timeZone (即America/Los_Angeles ) 响应是一个名为busy的数组,其中包含{ start <Date>, end<Date>} 我的目标:findstart和end之间的下一个空闲时间。 有以下限制: 必须在工作日(星期一至星期五) 必须在工作时间(上午9时至下午5时) 这是我试过的: 从上午9点到下午5点,每天手动创build更多busy对象 手动为周六和周日创build更多busy对象 合并所有busy街区,所以不会有交集 现在采取相反的时间,这是free时间。 第一个空闲时间对象( {start <Date>,end <Date>} ),其start – end > = 1 hour 是下一个空闲时间。 如果没有free对象大于1小时,则在start和end之间不存在空闲时间 这个问题听起来太多了,我想听听build议 这是我的代码到目前为止(工作): const moment=require('moment-timezone'); const chrono = require('chrono-node'); const ms = require('ms'); /** * given start and end dates […]

时间以前在Javascript中未定义

我使用下面的函数prettyDate()将时间戳转换为更友好的格式。 我不需要一个插件,它自动将div中的值转换为“Time ago”格式。 一个API返回时间戳1400564166115和1400695785000 。 date.now()给出1400696094406 。 使用下面的代码,将第一次时间戳1400564166115转换为2014-05-20T05:36:06.115Z ,其中函数prettyDate()将其转换为Yesterday 。 对于第二个时间戳, 1400695785000转换为2014-05-21T18:09:45.000Z ,但prettyDate()将其变成undefined 。 另外,在这种情况下day_diff是-1 。 diff是-14347.209并慢慢地移向0。 为什么它给undefined ,是什么导致day_diff <0 ? JSfiddle: http : //jsfiddle.net/pWNrS/ 例 var d = new Date(parseInt(1400564166115)).toISOString() prettyDate(d) // Yesterday var e = new Date(parseInt(1400695785000)).toISOString() prettyDate(e) // undefined *****WHY?***** prettyDate() prettyDate = function(time){ var date = new Date((time || "").replace(/-/g,"/").replace(/[TZ]/g," ")), […]

date不是有效格式时按datesortingjson

我有这个json: module.exports = [ { "date": "01-2012" }, { "date": "12-2011" }, { "date": "01-2014" }, { "date": "08-2015" } ]; 而我想按datesorting,但问题是,这是不是一个有效的格式(MM-YYYY),这是可能的? 有人能帮我一把吗? 谢谢。

Mongodb:基于ISODate格式的查询

假设Mongodb数据库中的示例文档如下所示: { "date" : ISODate("2015-11-09T05:58:19.474Z") } { "date" : ISODate("2014-10-25T07:30:00.241Z") } { "date" : ISODate("2015-11-30T15:24:00.251Z") } { "date" : ISODate("2012-01-10T18:36:00.101Z") } 预期: { "date" : ISODate("2015-11-09T05:58:19.474Z") } { "date" : ISODate("2014-10-25T07:30:00.241Z") } Iam有兴趣查找在“date”字段中的时间在04:00至08:00之间的文件,无论date,月份和年份如何。 间接查询必须匹配date字段中的任何“YYYY-MM-DDT”。 我的方法是,从节点查询所有文档中的所有文档,然后查询匹配查询的每个文档,比较文档的“date”字段与“yyyy-MM-DDT”+“required_time”(“YYYY-通过使用moment.js模块将MM-DD从每个文档的“date字段”中复制,以便通过转换为moment()并获取月份,date和年份来进行比较。 有没有什么方法可以直接得到相同的结果? 注意:我正在使用nodejs连接到mongodb

Node.jsdate参数

我正在创build一个接受开始date/时间和结束date/时间作为参数的node.js端点。 我一直把它们作为一个string,即: var body = { relatedObjectId: "561ee6bbe4b0f25b4aead5c8", startTime : "11/13/2015 03:00:00PM", endTime: "11/13/2015 03:30:00PM" }; 并在我的服务class: var timeTicket = new TimeTicket(); timeTicket.tutorId = tutorId; timeTicket.startTime = new Date(startTime); timeTicket.endTime = new Date(endTime); timeTicket.save(function(err, timeTicket){ if(err){ return next(err, null); } return next(null, timeTicket); }); 然而,演员总是失败,所以我最终在1970年的date为startTime和endTime值。 看起来显而易见的解决scheme是使用UTC格式,但是正确的方法是什么?

Cloud Server vs Local上的NodeJSdate不同

我正在使用Google Cloud for NodeJS应用程序(新增function)。 我使用节点从网站刮date,然后像这样创builddate对象 var date = new Date("06/08/2016"); 当我在本地服务器上运行应用程序的date是正确的。 当我将其推送到Google Cloud时,date已经晚了一天。 有没有人有任何洞察,为什么这可能会发生? 我把date作为MM / DD / YYYY格式的文本。

问题与mongoose时间戳记和时代转换为date()

我有一个Mongoose模式与timestamp选项设置为true。 schema = new mongoose.Schema({ … }, { timestamps: true }); 现在我有一个使用System.currentTimeMillis()获取时间戳的Android应用程序,它工作得很好,并且自UNIX纪元时间以来可以提供毫秒数。 我将这些数据发送到我的Node.js / Express服务器上,这个服务器会花费时间,只返回在特定date之后创build的文档。 // get all docs router.get('/api/seekers', function(req, res) { Seeker.find({createdAt:{ $gt: new Date(req.query.timestamp) }}, function(err, seekers) { if(err) res.send(err); else res.json(seekers); }); }); 所以我发送https://api_url.com/api/seekers?timestamp=1479431351762作为一个请求到服务器。 现在发生了一些事情: 我以毫秒为单位发送值,并得到这个错误 {"message":"Cast to date failed for value \"Invalid Date\" at path \"updatedAt\"","name":"CastError","kind":"date","value":null,"path":"updatedAt"} 经过一点调查,事实certificate,你需要秒通过Date() 。 所以, 我把值除以1000得到秒( […]