toorr2p Asked:2023-05-08 05:31:45 +0000 UTC2023-05-08 05:31:45 +0000 UTC 2023-05-08 05:31:45 +0000 UTC 如何在 linux bash 控制台中计算经过的年数 772 告诉我计算从 1986 年到当前年份的年数的命令是什么样的? 它不是那样工作的,它没有写正确的语法,我不明白如何正确地写它来计算这个差异? echo date +"%Y" - 1986 linux 4 个回答 Voted Best Answer nexoma 2023-05-08T07:13:40Z2023-05-08T07:13:40Z 选项: expr `date +"%Y - 1986"` 37 Pr0gramm1st 2023-05-08T07:09:46Z2023-05-08T07:09:46Z 试试这个选项: currentDate=`date +%s` pastDate=`date +%s --date="1986-01-01"` differenceDate=$(($currentDate-$pastDate)) differenceYear=$(($differenceDate/(3600*24*365))) echo $differenceYear 也就是说,我们正在寻找今天和目标日期之间的秒数差异,它与结果结果一起使用:我们将秒数除以 365 天中包含的秒数。 toorr2p 2023-05-08T21:38:22Z2023-05-08T21:38:22Z 谢谢大家,原来在这样的脚本中实现了一切 #!/bin/bash DISPLAY=:1 zenity --info --text="You are $(expr `date +%Y` - 1986) years old today!" Ivan 2023-05-09T21:22:45Z2023-05-09T21:22:45Z 使用打印: $ target_year=1986 $ printf -v current_year '%(%Y)T' -1 $ echo $current_year 2023 $ echo $((current_year-target_year)) 37
选项:
37
试试这个选项:
也就是说,我们正在寻找今天和目标日期之间的秒数差异,它与结果结果一起使用:我们将秒数除以 365 天中包含的秒数。
谢谢大家,原来在这样的脚本中实现了一切
使用打印: