jq命令转换纪元时间

jq command to convert epoch time

我运行以下AWS命令使用jq,但它returns纪元时间。

# aws ecs describe-tasks \
    --tasks arn:aws:ecs:eu-west-1:87147902d5269:task/ABC/1a9a276e0a0443d3d37ff954cfa6b1f36bc66 \
    --cluster arn:aws:ecs:eu-west-1:87147902d5269:cluster/CDE \
    | jq -r '.tasks[]|.taskArn,.createdAt,.taskDefinitionArn'
arn:aws:ecs:eu-west-1:871479025269:task/ABC/1a9a276e0a044d3d337ff954cfa6b1f36bc66
1595602422.013
arn:aws:ecs:eu-west-1:87147922025269:task-definition/new:1

如何在同一命令中将纪元时间转换为日期?

使用 todateiso8601 将纪元时间转换为 iso 日期字符串。

$ <<< '1595602422.013' jq 'todateiso8601'
"2020-07-24T14:53:42Z"

jqplay

$ ... | jq -r '.tasks[] | .taskArn, (.createdAt | todateiso8601), .taskDefinitionArn'
arn:aws:ecs:eu-west-1:871479025269:task/ABC/1a9a276e0a044d3d337ff954cfa6b1f36bc66
2020-07-24T14:53:42Z
arn:aws:ecs:eu-west-1:87147922025269:task-definition/new:1

jqplay