我有 json 数据,其中包含 ISO 8601 格式的日期时间字段。我想过滤掉周末发生的所有项目。我怎样才能做到这一点?
问问题
145 次
2 回答
2
如果您使用的是 UTC(!) 日期时间并jq
与libc
支持的链接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 回答