1

简单的 bash 问题......我想,我是新手。

我从系统时间中减去日期

date_from=`date -d "30 minutes ago"`

之后,我想将结果格式化为$date_from 'yyyy-mm-dd'

我怎样才能做到这一点?

4

3 回答 3

5
date -d "30 minutes ago" +%Y-%m-%d

不过,很可能是 30 分钟前是同一天 :)

于 2012-09-17T09:47:29.670 回答
4

您可以附加格式字符串:

date -d "30 minutes ago" +"%Y-%m-%d"
于 2012-09-17T09:47:19.060 回答
-1

由于您不能保证 30 分钟前是同一天,因此您最好的解决方案是将当前日期/时间转换为 1970 年的秒数,减去 30*60 秒,然后将其转换回日期。

我可以在脚本中执行此操作,但不确定如何在一行中执行此操作。

就像是:

CURRENT=date +%S
CURRENTMINUS30=expr $CURRENT - (30*60)
OLD = date -d@`CURRENTMINUS30`

不过,这是未经测试的。我将尝试让脚本工作并发布它的内容,也许其他人可以在一行中完成。

于 2012-09-17T10:10:14.080 回答