linux - 如何将年转换为天(过去)?

标签 linux bash command

我想使用 Linux 命令将年转换为天(过去)。例如:

  1. 用户给出的号码:10年前

  2. 程序应计算 10 年前的天数总和(例如:10*12*31(年/月/日)--> 3720 天)。

  3. 程序将其与今年开始的当前天数(例如:3720 + 223)相加并返回。

最佳答案

自 1970/01/01(Unix“第一天”)以来的当前时间(以秒为单位):

dnow=$(date +"%s")

正好是10年前的时间:

dthen=$(date -d '-10 years' +"%s")

计算一年中的今天:

dity=$(date +"%j")

然后只需将一个减去另一个,除以一天中的秒数,然后加上今天的日期:

timespan=$(( (dnow - dthen) / (24*60*60) + dity ))

您应该在 $dthen 之后设置 $dnow,以避免差一错误。

我不确定为什么有人想要这样做,所以如果我误解了您的问题,请回到我们这里。

关于linux - 如何将年转换为天(过去)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31909203/

相关文章:

bash - 防止多次追加到一个文件

c# - SC 删除 <服务> 不起作用

linux - rsync后没有传输任何文件

linux - recv 是否总是返回传递给发送的相同数量的数据?

linux - 无法编译包含 <linux/leds.h> 的 C 程序

bash - 解析nginx访问日志并提取IP,为每个解析的IP检测地理位置

linux - Apache2虚拟主机文件

linux - 我如何在 bash 循环中从文件中分配这些配置变量

linux - 如何通过Linux命令提示符对齐文本?

bash - 使用lynx获取网站源代码