📜  日期 linux 格式 yyyymmdd - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:40:09.117000             🧑  作者: Mango

日期 Linux 格式 yyyymmdd - Shell-Bash

在 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 中的介绍和实现。