📅  最后修改于: 2023-12-03 14:43:55.593000             🧑  作者: Mango
在 Linux Shell 脚本中,我们经常需要处理日期格式,比如获取当前时间、将日期转换成特定格式、计算日期差等。因此熟练掌握 Linux Shell 脚本中日期格式操作是非常必要的。
在 Linux Shell 中,我们可以通过 date 命令来获取当前的日期时间,例如:
$ date
该命令输出的日期时间格式默认为当前系统的日期时间格式。通常情况下,Linux 系统的日期时间格式都是采用国际标准 ISO 8601 格式,即 yyyy-mm-dd HH:MM:SS。
下面是一些常见的日期时间格式:
使用 date 命令,我们可以将日期格式化成我们需要的格式。例如,将日期时间转换成 yyyy-mm-dd 的格式:
$ date +%Y-%m-%d
将日期时间转换成 yyyy-mm-dd HH:MM:SS 的格式:
$ date +%Y-%m-%d\ %H:%M:%S
获取当前日期和时间可以使用 date 命令,例如:
$ date +%Y-%m-%d\ %H:%M:%S
获取当前年份:
$ date +%Y
获取当前月份:
$ date +%m
获取当前日期:
$ date +%d
获取当前小时:
$ date +%H
获取当前分钟:
$ date +%M
获取当前秒钟:
$ date +%S
在 Shell 脚本中,我们还可以计算两个日期之间的差值,可以通过将两个日期转换成时间戳,然后计算时间戳之间的差值。例如,计算两个日期相差的天数:
#!/bin/bash
date1="2021-05-01"
date2="2021-06-01"
# 将日期转换成时间戳
timestamp1=$(date -d "$date1" +%s)
timestamp2=$(date -d "$date2" +%s)
# 计算时间戳之间的差值
diff=$(($timestamp2-$timestamp1))
# 计算相差的天数
day=$((diff/60/60/24))
echo "相差的天数为:$day"
以上脚本将会输出相差的天数为 31。
在 Linux Shell 中,日期操作是非常常见的操作。熟练掌握 Linux Shell 脚本中日期格式的操作是非常必要的。通常情况下,我们可以使用 date 命令来处理日期格式,也可以将日期转换成时间戳来计算日期差。