Javascript momentjs convert UTC from string to Date Object

匿名 (未验证) 提交于 2019-12-03 03:03:02

问题:

Folks, Having a difficult time with moment.js documentation.

record.lastModified = moment.utc().format(); 

returns:

2014-11-11T21:29:05+00:00 

Which is Great, its in UTC... When I store that in Mongo, it gets stored as a String, not a Date object type, which is what i want.

What I need it to be is:

"lastModified" : ISODate("2014-11-11T15:26:42.965-0500") 

But I need it to be a native javascript object type, and store that in Mongo. Right now if i store the above, it goes in as string, not Date object type.

I have tried almost everything with moment.js. Their toDate() function works, but falls back to my local timezone, and not giving me utc.

Thanks!

回答1:

Saving a Javascript Date object will result in an ISODate being stored in Mongo.

Saving an ISO date as a Javascript String will result in a String being stored in Mongo.

So, this is what you want: record.lastModified = new Date(moment().format());



回答2:

Not an ideal solution, But I achieved the same result, by manually converting it to ISODate object through monogo shell. We need the ISODate for comparison/query for aggregating results, so we run this script before running our aggregate scripts.

Inserting local time string by using moment().format().

"createdDt" : "2015-01-07T17:07:43-05:00"` 

Converting to an ISODate (UTC) with:

    var cursor = db.collection.find({createdDt : {$exists : true}});     while (cursor.hasNext()){         var doc = cursor.next();         db.collection.update(                    {_id : doc._id},                     {$set: {createdDt : new ISODate(doc.createdDt)}})     } 

results in

"createdDt" : ISODate("2015-01-07T22:07:43Z")" 

Note the time got converted T17:07:43-05:00 to T22:07:43Z

I could not find any solution for inserting BSON ISODate format (which is UTC by default) from JavaScript directly, while inserting a new document, it seems to be available through pyMongo & C#/Java Drivers though. Trying to look for an maintainable solution



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!