jq获取当前日期 不要时间
时间: 2023-09-13 12:07:29 浏览: 39
可以使用 `date` 命令获取当前日期和时间,然后使用 `jq` 进行格式化。以下是一个示例:
```
date '+{"date": "%Y-%m-%d"}' | jq .
```
这将输出一个 JSON 对象,其中 `date` 键的值为当前的日期,格式为 `YYYY-MM-DD`。您可以根据需要进行修改。
相关问题
JQ获取当前时间,然后再加七天
你可以使用如下的代码来获取当前时间并加七天:
```jq
# 获取当前时间并转换为时间戳
$now = now | mktime;
# 加七天的时间戳
$seven_days_later = ($now + (7 * 24 * 60 * 60));
# 将时间戳转换为日期格式
$future_date = strftime("%Y-%m-%d", $seven_days_later);
# 输出七天后的日期
$future_date
```
这个代码首先获取当前时间并将其转换为时间戳。然后,它将七天的时间(以秒为单位)添加到当前时间戳中,得到一个新的时间戳,表示七天后的时间。最后,它将新的时间戳转换为日期格式,并输出结果。
jq根据日期判断年龄
如果你想根据出生日期来计算当前的年龄,可以使用jq中的时间函数和日期格式化。以下是一个示例jq脚本:
```bash
#!/bin/bash
# 输入的日期格式为ISO 8601标准的日期格式,例如:1990-01-01
birthday=$1
# 将输入的日期转换为Unix时间戳
unix_birthday=$(date -d "$birthday" +%s)
# 获取当前时间的Unix时间戳
now=$(date +%s)
# 计算年龄
age=$(echo "($now - $unix_birthday) / 31536000" | bc)
# 输出年龄
echo "当前年龄为:$age 岁"
```
你可以将这个脚本保存为一个文件,例如`age.sh`,然后在命令行中运行:
```bash
bash age.sh 1990-01-01
```
这将输出当前年龄为:31岁。