当前位置: 首页 > 面试题库 >

将Mongo存储的日期转换为自Unix时代加载后的毫秒数?

邢飞昂
2023-03-14
问题内容

我正在将Mongoose&Node.js用于我的Web服务器。

作为我的一个文档架构的一部分,我有一个“时间戳”字段。模式中的这一行是: timestamp: { type: Date, default: Date.now }

这样可以很好地工作,并允许我基于时间戳检索文档,但是,该格式另存为ISODate格式,如下所示:http
://docs.mongodb.org/manual/core/document/#date ,如下所示:

"timestamp":"2013-04-04T19:31:38.514Z"

我对此不介意,但是我将其原样发送给客户端。这意味着我必须先在客户端使用Date.parse()才能进行比较操作。

有什么方法可以将日期存储为整数,或者在检索日期时将其自动转换为整数?

我有什么理由应该保留它的状态,只在客户端处理它?

提前致谢。


问题答案:

您可以在架构上将数字毫秒版本添加timestamp为虚拟属性:

schema.virtual('timestamp_ms').get(function() {
  return this.timestamp.getTime();
});

然后,可以toObject通过模式上的选项启用虚拟字段包含在模型实例的调用中:

var schema = new Schema({
  timestamp: Date
}, {
  toObject: { getters: true }
});


 类似资料:
  • 问题内容: 我有一个等于日期的字符串,表示为自Unix纪元以来的毫秒数。 我正在尝试将其输出到dmY。 我得到的字符串是“ 1227643821310”,并被告知结果应等于 2-12-2008 ,但我不断得到的结果是 25-11-2008 我的代码如下: 关于为什么会这样的任何想法? 问题答案: 您已经做对了,1227643821根本不是2008年12月12日,的确是2008年11月25日。

  • 问题内容: 我对当前UTC时间以毫秒为单位不感兴趣,也无需弄乱时区。我的原始日期已经存储为UTC时间戳。 我在UTC时间“ 2012-06-14 05:01:25”中存储了一个日期。我对日期时间不感兴趣,但对日期部分感兴趣。因此,在用Java检索日期并排除小时,分钟和秒之后,我剩下的是“ 2012-06-14”。 如何将其转换为UTC毫秒? 问题答案: 编辑:我错过了“忽略一天中的时间”部分。它现

  • 问题内容: 我有一个Python 对象,我想将其转换为Unix时间,即自1970年以来的秒/毫秒。 我该怎么做呢? 问题答案: 在我看来,最简单的方法是

  • 问题内容: 我已使用ruby脚本将iso时间戳转换为纪元,我正在解析的文件具有以下时间戳结构: 由于我想保留毫秒,因此我使用了以下Ruby代码将其转换为纪元时间: 但是在python中,我尝试了以下操作: 但是我没有把原定的时间日期倒退, 我想知道这与我的格式化方式有关吗? 问题答案: 用途: 指令仅受支持,而不受。 UPDATE 替代使用,:

  • 问题内容: 我需要处理大量CSV文件,其中时间戳始终是代表以毫秒为单位的unix时间戳的字符串。我找不到有效修改这些列的方法。 这就是我想出的,但是,这当然只重复了该列,而我不得不以某种方式将其放回原始数据集。我确定创建?时可以做到。 这将选择“ UNIXTIME”列,并将其更改为 进入这个 但是,我想使用类似的方法来获取转换后的列返回的整个数据集,或者像我已经写的那样,仅在从CSV生成DataF

  • 问题内容: 如何获得日期的毫秒时间?我有以下代码。 此变量beginupd包含格式 2011年10月12日星期三11:55:03 GMT + 05:30 现在如何在Long数据类型中将此格式转换为毫秒时间?非常感谢您的任何帮助,并在此先感谢… 问题答案: JavaDoc指出: 返回自此Date对象表示的自格林尼治标准时间1970年1月1日00:00:00以来的毫秒数。