Tag: date

保存购买date并添加X时间到它

我正在创build一个节点应用程序,用户可以使用以下HTMLinputselectboughtdate: <input placeholder="Date Bought" class="textbox-n form-control" type="text" onfocus="(this.type='date')" onblur="(this.type='text')" id="bought" name="bought"> 然后使用var bought = req.body.bought;存储到一个mongodb var bought = req.body.bought; 和用户input一个月数到另一个HTML name="warranty" HTMLinput,我需要转换为使用boughtdate,然后warranty月份的date。 我如何添加这些? 我试过这个: var bought = req.body.bought; var warrantyMonths = req.body.warranty; var warranty = bought.setMonth(bought.getMonth()+ warrantyMonths); 根据本指南

parsingdate,如2012-11-07T00:00:00

我从我的客户那里获得这种格式的date: 2012-11-07T00:00:00(yyyy-mm-ddT00:00:00) 我怎样才能parsing到一个date对象? 我的第一个select是: 获得前10个字符(2012-11-07) 拆分“ – ” 创build新的date(splitted [0],splitted [1],splitter [2]) 我知道这样的问题是显而易见的,不仅在堆栈溢出,但我想: 知道一个更好的做法,没有任何库,纯JS(Date.parse()?) 与广泛使用的nodeJS的date库/框架相同

mongodb查询在两个date范围内获取文档

我的文档有一个datetypes如下的字段。 { "_id" : ObjectId("568bae0fcfe23a50879d45fc"), "data": { "createdDate" : ISODate("2015-12-17T22:25:24.973+0000") } } 我怎么能得到所有文件data.createdDate <= todayDate和data.createdDate > = todayDate-20days。 我试着用下面的查询,这是工作正常。 db.myTable.aggregate([ {$match: {"data.createdDate": {$lte: new Date(), $gte: new Date(new Date().setDate(new Date().getDate()-20))}}} ]) 但是这个查询也考虑时间。 我只想比较一下date。

如何在JavaScript中处理时区

我正在做一个从控制台运行的应用程序,它会计算每个月的星期日数量,并在5个星期日输出数月。 所以最后如果有6个月,有5个星期日,它输出6.我input这种格式的date:2014年1月2014年6月和params是在一个txt文件作为parameter passing。 我做了它在PHP中,这是非常简单的,但在节点js,我很痛苦。 CES或CEST正在杀死我。 我试图只与UTCdate,但我无法控制它,我有奇怪的输出。 例如,如果我介绍“2014年1月2014年6月”我得到两个月,但是当我介绍“2016年6月2月2017”我得到4,应该是3.我把一个console.log(date),当程序计数五星期日,我得到这些date: Sun Mar 30 2014 00:00:00 GMT+0100 (CET) Sun Jun 01 2014 01:00:00 GMT+0200 (CEST) 2 //the output of months that have 5 sundays Sun Jul 31 2016 00:00:00 GMT+0200 (CEST) Sun Oct 30 2016 00:00:00 GMT+0200 (CEST) Sat Dec 31 2016 23:00:00 GMT+0100 (CET) Sat Feb 04 2017 […]

将yyyymmddThhmmss.SSSZ格式转换为Unix Timestmp

我使用NodeJS从服务器获取date,但date格式是yyyymmddThhmmss.SSSZ 20170423T203146.000Z 我试图将这个datestring转换为纪元时间,以便轻松计算此时间与当前时间之间的差异。 (时区将始终是UTC) 然而,我找不到任何parsing这个string的可能性,因为库似乎不接受这种datestring。 有人可以帮我解决这个问题吗?

ER_TRUNCATED_WRONG_VALUE:错误的date时间值

所以我最近完成了一个研究项目的申请。 这一切都很好,而我所剩下的就是将应用程序投入生产。 我使用的Node.js与MySQL(我知道,我们不喜欢,但有人得尝试它)。 我有一个socket聊天消息添加到消息表,其中包含文本,date时间等date时间设置为new Date() 。 现在,当我把应用程序放在生产服务器(重新安装依赖关系,mysql等)时,当我写消息时,我突然得到这个错误: Error: ER_TRUNCATED_WRONG_VALUE: Incorrect datetime value: '2017-06-01T09:45:06.253Z' for column 'message_datetime' at row 1 我在开发中没有得到这个错误,所以我问自己是否下载了不同版本的mysql …我做了: 发展: mysql Ver 14.14 Distrib 5.5.54, for debian-linux-gnu (i686) using readline 6.3 生产 mysql Ver 14.14 Distrib 5.7.18, for Linux (x86_64) using EditLine wrapper 消息表如下所示: CREATE TABLE message ( message_id INT AUTO_INCREMENT, message_sender_id VARCHAR(80) […]

格式化date时,NodeJS小时内的SQL查询处于closures状态

我想在我的查询中SELECT FORMAT(MAX(dTime),'yyyy-MM-dd hh:mm:ss') FROM triangulations dtime2字段: SELECT FORMAT(MAX(dTime),'yyyy-MM-dd hh:mm:ss') FROM triangulations 这给出了输出{result:[{'':'03:34:30'}],rowcount:1} 小时数应该是15.当查询格式不存在时,这也会显示出来。 查询: SELECT MAX(dTime) FROM triangulations给出输出: {result:[{'':Mon Jul 17 2017 15:34:30 GMT + 0000(Coordinated Universal Time)}],rowcount:1} 我使用库node-mssql-connector在NodeJs中执行查询。 为什么SQL给我错误的时间?

Date.now()返回错误的date

我有这个mongoose模式 const postSchema= new Schema({ body:{ type: String, required:true, validate:bodyValidators}, createdBy: { type: String}, to: {type:String, default:null }, createdAt: { type:Date, default:Date.now()}, likes: { type:Number,default:0}, likedBy: { type:Array}, dislikes: { type:Number, default:0}, dislikedBy: { type:Array}, comments: [ { comment: { type: String, validate: commentValidators}, commentator: { type: String} } ] }); 我的应用程序的每一个post都是返回到2017年8月20日下午10:01但我在哪里是2小时以上。 这里是HTML,我正在使用Angular4。 {{post.createdAt | […]

Mongodb时区问题,按date过滤

我正在尝试使用startDate和endDate之间的“date”字段获取所有logging。 我用这个查询数据库(从月初到今天的logging): var startDate = new Date(2017,09,1); var endDate = new Date(2017,09,7); //console.log(startDate) = Sun Oct 01 2017 00:00:00 GMT-0300 (BRT) //console.log(endDate) = Sat Oct 07 2017 00:00:00 GMT-0300 (BRT) Sale.find({date:{"$gte":startDate,"$lt":endDate}},function(err, sales){ } loggingdate在10/02和10/07之间,并被退回,但是10/01date的logging没有被退回。 以下是这些缺失logging的date字段: "date": { "$date": "2017-10-01T23:00:00.000Z" } 我把时间设定为23,看看它是否会有所作为(时区等),但没有。 如果我把startDate设置为9月30日23小时,什么都没有。 22时21分,什么也没有。 当startDate变成9月30日,小时20,宾果时,logging被返回。 这可能是一个时区问题,但我无法确定在哪里以及如何。

这是什么时间格式,我如何将其转换为时代?

我有两种格式的时间戳数据,其中3F536DDA -> 1378397085768000和3F52C3C3 -> 1378353476238000 。 我似乎无法弄清楚3F536DDA格式,也不知道如何将其转换为有问题的时代。 任何帮助,将不胜感激! 更新 我发现这个: 自1980年1月6日00:00:00 GMT以来,以秒为单位的8位hex表示。 这似乎是GPS时间。 我可能会错过这里的转换,我只是减去1980年1月6日和1970年1月1日之间的差异。 time = (1378397085 – 315964800) console.log '3F536DDA' # What I expected console.log time.toString(16) # What I get: 3F536D1D