Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中将UTC字符串日期转换为有效的mongo日期_Javascript_Mongodb - Fatal编程技术网

在JavaScript中将UTC字符串日期转换为有效的mongo日期

在JavaScript中将UTC字符串日期转换为有效的mongo日期,javascript,mongodb,Javascript,Mongodb,我有这个TimeStamp=“2017-08-02T08:00:38.977”是从第三方API提要提供给我的。它已经在UTC中 我需要将它登录到mongo,我希望它是mongo中用于查询的有效日期类型,但我正在努力正确转换该死的东西,以便它按原样存储 e、 g TimeStamp=newdate(TimeStamp)给我提供了Wed Aug 02 2017 08:00:38 GMT+0800,当我插入mongo时,它显示为2017-08-02 00:00:38.280Z即时间戳:ISODate(

我有这个
TimeStamp=“2017-08-02T08:00:38.977”
是从第三方API提要提供给我的。它已经在UTC中

我需要将它登录到mongo,我希望它是mongo中用于查询的有效日期类型,但我正在努力正确转换该死的东西,以便它按原样存储

e、 g

TimeStamp=newdate(TimeStamp)
给我提供了
Wed Aug 02 2017 08:00:38 GMT+0800
,当我插入mongo时,它显示为
2017-08-02 00:00:38.280Z
时间戳:ISODate(“2017-08-02T00:00:38.280Z”)

我试着做一些其他的事情,但它们都以奇怪的方式改变了时间,在mongo中出现的和我想象的完全不同

有人能告诉我如何将字符串变量
2017-08-02T07:55:47.977
插入mongo,使其保持完全相同,但为日期类型

问候 弗洛

更新

来自API的传入字符串时间戳=2017-08-02T08:30:41.39

新日期(时间戳)=2017-08-02T00:30:41.390Z


insert=“TimeStamp”:ISODate(“2017-08-02T00:30:41.390Z”)之后的Mongo文档显示从Mongo shell查看的实际文档。如果您实际使用的是
new Date()
,那么它应该正确存储。只是JavaScript的默认输出格式是使用“本地字符串格式”。但是它仍然应该被实际存储为正确的类型,除非你做了一些不同的事情来添加我得到的输出。。
新日期
不能保持日期不变。由于提供的字符串已在UTC中,我应该保持不变,而不是回滚8小时。它已正确存储,如shell中的
ISODate
符号所示。为什么要“回滚8小时”?当你得到它时,它已经是UTC,所以没有必要调整时区。哦,对不起。因为您的API没有尾随的
Z
。这就是要使其成为
日期
构造函数的有效UTC表示形式所需添加的全部内容。只要是UTC,就是这样。如果它真的来自另一个时区,那就是另一个故事了。是的,你是对的。在时间戳后面加上“Z”,现在就可以了。你能回答吗?我接受。谢谢(再次)