将纪元时间戳转换为 vega 中的日期

Converting an epoch timestamp to date in vega

我需要在 vega 中添加一些简单的日期。我正在使用以下表达式,其中 datum.date 是日期类型,datum.days 是数字:

                    'transform': [
                      {
                        'type': 'formula',
                        'expr':
                            'time(datum.date) + (1000*60*60*24*datum.days)',
                        'as': 'x'
                      },
                    ]

这很好用,但它会产生时间戳(例如:1627057587)而不是 js 日期对象。我查看了 toDate() 但这似乎也是 return 时间戳而不是 Date 对象。

如何将此操作的结果转换回日期对象?

这里有简单的解决方案。与您所做的类似,您只想使用这样的公式 - 我假设“x”是您的纪元值。

{
  type: formula
  expr: datetime(datum.x)
  as: TimestampFromEpoch
}

可以说,这在 Vega 文档中并不太清楚,这是可能的。但是做这份工作:)