gpt4 book ai didi

linux - 如何创建带有时间戳的动态日期?

转载 作者:太空宇宙 更新时间:2023-11-04 12:04:04 26 4
gpt4 key购买 nike

我是 Linux 新手。我有以下要求。比方说,现在的日期时间是 2018-07-11 15:01:23我想生成新的日期时间戳,它应该等于最接近的小时值,它是 8 的乘数。例如,使用下面的当前日期和时间,结果应如下所示:

startdate = 2018-07-11 00:00:00 &
enddate = 2018-07-11 08:00:00.

如果我当前的日期时间戳是 2018-07-12 07:01:11日期应如下所示:

startdate = 2018-07-11 16:00:00 &
enddate = 2018-07-12 00:00:00.

我想按照上述自动化日期。谢谢。

最佳答案

我认为您在评论部分所做的工作效率低下,因为它调用了 date 命令六次或可能少于六次。
如果脚本在午夜前几分之一秒被调用并且日期在设置月份和日期?
假设脚本在 2018-04-31 23:59:59 被调用,但分配的值可能等于 2018-04-01 00:00:00。
通缉日期是 2018 年 4 月 31 日 23:59:59 或 5 月 1 日 00:00:00。
而脚本可以得到的是2018年4月1日00:00:00。那是整整一个月的假期!

更好的方法是从日期中获取单个字符串并将其拆分为多个部分。

date=$(date +%Y-%m-%dT%H:%M:%S)
time=${date#*T}
date=${date%T*}
year=${date%%-*}
daymonth=${date#*-}
month=${daymonth%-*}
day=${daymonth#*-}
hour=${time%%:*}
minsec=${time#*-}
minute=${minsec%-*}
second=${minsec#*-}

现在您可以像在代码的其他部分一样进行计算。

关于linux - 如何创建带有时间戳的动态日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51284317/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com