Nodejs 日期对象到 protobuf

Nodejs Date object to protobuf

我正在构建一个与 protobuf 集成的 graphql。我有一个像这样的 gql 模式:

type User {
  userId: ID!,
  createTime: DateTime 
}

问题是如何仅通过构造函数创建 User 消息对象?具体来说,我想做的是: message = new User(['my_user_id', '2018-10-01']).toObject() 这样它将转换为正确的 protobuf 消息对象给我。喜欢:

{    
  "userId": "my_user_id",
  "createTime": {
    "seconds": 15000000,
    "nanos": 0
  }
}

但是,createTime 总是undefined

试了很多方法还是不行(网上很少资源顺便说一下nodejs protobuf时间戳)

我试过了message = new User(['my_user_id', '2018-10-01T20:23:32.000Z']).toObject()没用

我试过了message = new User(['my_user_id', new Date()]).toObject(),没用

我试过了

let timestamp = new proto.google.protobuf.Timestamp()
timestamp.setSeconds(1)
timestamp.setNanos(1)
message = new User(['my_user_id',timestamp]).toObject()

也不工作

有谁知道正确的方法吗?非常感谢

我明白了。只要做 new User(['my_user_id', [1538425412, 0]]).toObject() 就会给出正确的消息对象

{
  "userId": "my_user_id",
  "createTime": {
    "seconds": 1538425412,
    "nanos": 0
  }
}