【发布时间】:2021-02-02 15:50:13
【问题描述】:
我有一堆带有 ISO 格式日期的 JSON。如何只打印日期的年份部分?
$ echo '{"createdDate": "2005-09-28T16:34:40Z"}' | jq '{ createdYear: ??? }'
{
"createdYear": "2005"
}
【问题讨论】:
标签: json command-line jq
我有一堆带有 ISO 格式日期的 JSON。如何只打印日期的年份部分?
$ echo '{"createdDate": "2005-09-28T16:34:40Z"}' | jq '{ createdYear: ??? }'
{
"createdYear": "2005"
}
【问题讨论】:
标签: json command-line jq
为什么不只是:
{createdYear: .createdDate[0:4]}
【讨论】:
使用strptime 将日期字符串转换为日期对象,然后使用strftime 格式化日期:
$ echo '{"createdDate": "2005-09-28T16:34:40Z"}' |
jq '
{ createdYear: .createdDate
| strptime("%Y-%m-%dT%H:%M:%SZ")
| strftime("%Y") }'
{
"createdYear": "2005"
}
【讨论】: