Unix 计算文件被修改的时间

Unix 计算文件被修改的时间,unix,date,time,Unix,Date,Time,我需要一个脚本来计算文件被修改的时间。这可以是几天前,也可以是几分钟前。 我已经能够从stat命令中获得修改日期和时间。我将这些数据存储在两个不同的变量中。 现在我需要用“现在”来计算这个日期和时间之间的差异。 我可以找到很多关于两个日期或时间之间差异的例子。但是如果我的时间倒退了一天呢。 修改日期2013-06-25 23:55:00 现在2013-06-26 00:10:08 如果我计算这两者之间的差异,我需要15分8秒的答案。 有人能帮我吗?生成stat以秒为单位给出时间,然后减去数值。如

我需要一个脚本来计算文件被修改的时间。这可以是几天前,也可以是几分钟前。 我已经能够从stat命令中获得修改日期和时间。我将这些数据存储在两个不同的变量中。 现在我需要用“现在”来计算这个日期和时间之间的差异。 我可以找到很多关于两个日期或时间之间差异的例子。但是如果我的时间倒退了一天呢。 修改日期2013-06-25 23:55:00 现在2013-06-26 00:10:08 如果我计算这两者之间的差异,我需要15分8秒的答案。
有人能帮我吗?

生成
stat
以秒为单位给出时间,然后减去数值。如果你想除以60分钟,可以使用模60以秒为单位得到余数。

Jens的答案有效,下面是一个例子

#!/bin/bash

MOD_TIME=`stat -c %Y thisfile.txt`
RIGHTNOW=`date +%s`
HOW_LONG=`expr $RIGHTNOW - $MOD_TIME`
NUM_MINS=`expr $HOW_LONG / 60`
NUM_SECS=`expr $HOW_LONG % 60`

echo "$NUM_MINS minutes, $NUM_SECS seconds since modified."

这就是解决办法。我试图分两步来做这件事。首先用stat获取修改时间和日期,然后我尝试将此日期设置为“seconds-beford…”格式,但失败了。谢谢!