我正在准备一个脚本bash
来处理将一些数据插入表中,但我需要修改日期,使其具有当前时间、相同时间UTC
和UTC
负半小时内的相同时间。
例如:
- 脚本开始时间:12:00
- 时段开始时间:09:30 (UTC - 30 MINUTES)
- 期间结束时间:10:00(UTC)
到目前为止,我为此部分编写的代码是这样的:
FECHA_ACTUAL=`date +"%Y-%m-%d %H:%M:%S"`
FECHA_FIN=`date -u +"%Y-%m-%d %H:%M:%S"`
FECHA_INICIO=`date -d "$FECHA_FIN - 30 minutes" +"%Y-%m-%d %H:%M:%S"`
echo $FECHA_ACTUAL
echo $FECHA_INICIO
echo $FECHA_FIN
我在互联网上找到了该部分,date -d "$FECHA_FIN - 30 minutes"
但它对我不起作用。
我怎么能做到?
尝试放置以下内容:
我刚刚浏览了手册中“日期字符串中的相对项”部分提供的一些非常有趣的文档,
info
并且还对您尝试过的内容进行了一些测试。@david 提到的是该部分中关于相对时态的描述,并带有自己的翻译。
所以我想到了几个例子,例如@david给出的答案中的一个
这相当于
通过乘数“-30 <units>”相当于将“30 <units> 前”。
但我们也可以考虑你的例子的形状。
此示例运行良好,但如果您注意到代码中出现的错误,它会显示类似 的
Invalid date
内容,那么很可能是由于格式问题。尝试将结束日期的格式放在末尾,字母“Z”,“零时间”或“祖鲁时间”的字母“Z”,如 ISO 8601 所指示的 UTC 时间。军队使用的无线电字母表中的“Zulu”是指字母“Z”。所以你的代码可能看起来像