MeteorJS 和 Redux 中的 DateTime 对象

DateTime objects in MeteorJS and Redux

用 Redux 处理 MeteorJS 中的 DateTime 对象的最佳实践是什么?

最近在我的 React Native + Meteor 应用程序中实现了 Redux 的使用,以在 Spencer Carli 的博客 post 之后实现离线功能。但是我对两个系统存储 DateTime 对象的方式有一些问题。我必须承认我对 JavaScript.

中日期对象的处理方式没有详细的了解

流星

我的 Meteor 集合模型包含一个 datetype 对象(我使用 simpl-schema):

const Objects= new Mongo.Collection('objects');
Objects.schema = new SimpleSchema({
  startedAt: Date,
});

日期介绍

在 react-native 应用程序中,我必须将日期类型解析为字符串:

<Text>Started at: {object.startedAt.toUTCString()}</Text>

但是,在断开连接模式下,日期是字符串类型“2017-02-11T09:00:00.000Z”,因此此解析失败

插入带有日期对象的项目

在 react-native 中插入项目:

Meteor.collection('objects').insert({
    startedAt: new Date(),
  }
);

这在断开连接模式下被接受,但是当与服务器的连接恢复时,在 MongoDB 中插入项目被拒绝。

虽然不是很好的答案,但我的主要建议是,无论何时在 Javascript 中使用日期,都使用 momentjs。它将为您节省 的时间。

否则,我不确定这是否是 "right" 方法,我会做

<Text>Started at: {new Date(object.startedAt).toUTCString()}</Text>

这样 startedAt 值将始终转换为 Date 对象,无论它已经是一个还是字符串。

希望对您有所帮助!