📅  最后修改于: 2023-12-03 15:40:09.117000             🧑  作者: Mango
在 Shell-Bash 中,可以使用 date
命令获取当前日期并以指定的格式输出。其中,yyyymmdd
格式指年份、月份和日期依次相连的格式,如 20210324
表示 2021 年 3 月 24 日。
使用 date
命令输出当前日期,可以这样写:
date +%Y%m%d
其中,%Y
表示输出年份(四位数),%m
表示输出月份(两位数),%d
表示输出日期(两位数)。+
表示输出格式。
代码片段如下:
#!/bin/bash
now=$(date +%Y%m%d)
echo "当前日期为:$now"
输出结果:
当前日期为:20210324
使用 date
命令也可以输出指定日期的 yyyymmdd
格式。例如,输出 2020 年 1 月 1 日:
date -d "2020-01-01" +%Y%m%d
其中,-d
表示指定日期,后面跟着的是日期格式,+%Y%m%d
表示输出 yyyymmdd
格式的日期。
代码片段如下:
#!/bin/bash
specified="2020-01-01"
specified_date=$(date -d "$specified" +%Y%m%d)
echo "指定日期 $specified 的 yyyymmdd 格式为:$specified_date"
输出结果:
指定日期 2020-01-01 的 yyyymmdd 格式为:20200101
可以使用 date
命令计算指定日期与当前日期的天数差值或者月数差值。具体实现如下:
#!/bin/bash
now=$(date +%Y%m%d)
specified="2020-01-01"
# 计算指定日期与当前日期的天数差值
days_diff=$(( ($(date -d "$specified" +%s) - $(date -d "$now" +%s)) / 86400 ))
# 计算指定日期与当前日期的月数差值
months_diff=$(( ($(date -d "$specified" +%Y) - $(date -d "$now" +%Y)) * 12 + ($(date -d "$specified" +%m) - $(date -d "$now" +%m)) ))
echo "当前日期为 $now,指定日期为 $specified"
echo "指定日期与当前日期的天数差值为:$days_diff"
echo "指定日期与当前日期的月数差值为:$months_diff"
输出结果:
当前日期为 20210324,指定日期为 2020-01-01
指定日期与当前日期的天数差值为:449
指定日期与当前日期的月数差值为:14
以上就是关于日期 Linux 格式 yyyymmdd 在 Shell-Bash 中的介绍和实现。