如何在Linux上添加日期并获取新日期
时间:2020-01-09 14:16:49 来源:igfitidea点击:
如何使用Linux CLI添加最新日期?
我想使用CLI找出2020年7月29日+ 20天的日期,我该怎么做?
我们使用date命令在Linux或类似Unix的操作系统上显示当前日期和时间。
同样,您可以在Linux上使用date命令设置日期和时间。
让我们看看如何使用date命令将天添加到给定的日期/期间。
如何在Linux上添加日期并获取新日期
对于日期的GNU/Linux版本,显示当前时间和日期的语法如下(macOS/FreeBSD/* BSD用户跳到下面):
date
使用TZ显示美国西海岸的时间,而无需更改本地时间:
TZ='America/Los_Angeles' date
这是美国西海岸下周四凌晨6点的当地时间的另一个示例:
date --date='TZ="America/Los_Angeles" 06:00 next Thu'
当使用GNU日期版本时,我们可以显示由--date或-d选项描述的时间。
假设您要打印前一天的日期,请执行:
date --date='2 days ago'
让我们看一下这四个月零两天的日期:
date --date='4 months 2 day'
添加日期到日期命令
语法如下所示,以在给定日期上添加天数并在GNU/Linux日期版本上找到新的日期/时间:
date -d="YYYY-MM-DD+N days" ## long version ## date --date="YYYY-MM-DD+N days" ## set time zone ## TZ='TIME_ZONE_HERE' date -d="YYYY-MM-DD+N days"
例如,将2020年7月29日添加20天,如下所示:
date -d "2020-07-29+20 days" ## Try NYZ time zone ## TZ='America/New_York' date -d "2020-07-29+20 days" ## add 5 days to 14/Aug/2020 for IST time zone TZ='Asia/Kolkata' date -d "2020-07-29+20 days" eggs="2020/07/29" days="20 days" echo "Eggs expiry date $(date -d "${eggs}+${days}")"
相关:使用Bash Shell Date命令获取昨天或明天的日期以及如何格式化日期以显示或在Shell脚本中使用以获取更多信息
减去日期日期命令
只需尝试:
date -d "YYYY-MM-DD-N days" date -d "2020-08-15-5 days"
Monday 10 August 2020 12:00:00 AM IST
加上X天,并在macOS或BSD上获取新日期
- BSD系列操作系统(包括基于macOS Unix的台式机)的语法略有不同:
date -v {format} ## Display the current date/time ## date ## Adding 2 days to the current date on macOS / FreeBSD ## date -v +2d ## Subtracting 4 days from the current date on macOS / FreeBSD / OpenBSD / NetBSD etc ## date -v -4d ## Add 20 days to the current date when using bsdutils date using TZ ## TZ='America/Los_Angeles' date -v +20d
在macOS/* BSD UNIX中添加最新日期
语法如下:
date -j -v +Nd -f "%Y-%m-%d" "YYYY-mm-dd" +%Y-%m-%d
例如,在macOS或FreeBSD上将20天添加到2020年8月15日,如下所示:
date -j -v +20d -f "%Y-%m-%d" "2020-08-15" +%Y-%m-%d
在这个最后的示例中,使用bash shell从2020年8月20日减去10天:
days="10d" my_date="2020-08-20" date -j -v -${days} -f "%Y-%m-%d" "${my_date}" +%Y-%m-%d