0

我有 json 数据,其中包含 ISO 8601 格式的日期时间字段。我想过滤掉周末发生的所有项目。我怎样才能做到这一点?

4

2 回答 2

2

如果您使用的是 UTC(!) 日期时间并jqlibc支持的链接strftime(),那么您可以使用如下内容:

文件.json

{
  "name": "foo",
  "date": "2018-02-11T12:00:00Z"
}
{
  "name": "bar",
  "date": "2018-02-12T12:00:00Z"
}

jq命令:

jq '.[]|select(.date|fromdateiso8601|strftime("%w") as $d|$d=="7" or $d=="0")' file.json

7代表星期六,0代表星期日。

输出:

{
  "name": "foo",
  "date": "2018-02-11T12:00:00Z"
}
于 2018-02-12T19:42:48.490 回答
0

无耻的打广告。

您可以使用支持所有 python 库的 jf 版本。周六和周日:

pip install jf
jf 'filter(date(x.date).weekday() > 4)' file.json
于 2018-02-13T04:46:09.383 回答