如何在Linux中为日期变量添加时间?

欧姆

尝试了这个但是失败了

now=$(date +%Y%m%d%H%M%S)
past=$(date +%Y%m%d%H%M%S -d "${now} -5minutes")
echo $past

结果:

date: invalid date ‘20200120175610 -5minutes’

TT

muru

看来GNU日期无法解析该格式的时间戳。前导部分需要一年的时间:

% date +%Y%m%d%H%M%S -d 20200120175610 --debug
date: parsed number part: (Y-M-D) 2020012017-56-10
date: input timezone: system default
date: warning: using midnight as starting time: 00:00:00
date: error: invalid date/time value:
date:     user provided time: '(Y-M-D) 2020012017-56-10 00:00:00'
date:        normalized time: '(Y-M-D) 2020012021-08-10 00:00:00'
date:                                  ---- --
date:      possible reasons:
date:        numeric values overflow;
date:        missing timezone
date: invalid date ‘20200120175610’

如果没有出错,那么它可能不会溢出,但仍未达到您的期望:

% date +%Y%m%d%H%M%S -d "20200120181002 -5minutes" --debug
date: parsed hybrid part: -5 minutes
date: input timezone: system default
date: warning: using midnight as starting time: 00:00:00
date: starting date/time: '(Y-M-D) 2020012018-10-02 00:00:00'
date: '(Y-M-D) 2020012018-10-02 00:00:00' = 63745360147926000 epoch-seconds
date: after time adjustment (+0 hours, -5 minutes, +0 seconds, +0 ns),
date:     new time = 63745360147925700 epoch-seconds
date: timezone: system default
date: final: 63745360147925700.000000000 (epoch-seconds)
date: final: (Y-M-D) 2020012018-10-01 14:55:00 (UTC)
date: final: (Y-M-D) 2020012018-10-01 23:55:00 (UTC+09)
20200120181001235500

使用其他时间戳格式。我建议使用ISO-8601,并在输出时根据需要重新格式化:

% now=$(date --iso-8601=seconds)
% past=$(date -d "$now - 5 minutes" --iso-8601=seconds)
% printf "%s\n" "$now" "$past"
2020-01-20T18:29:50+09:00
2020-01-20T18:24:50+09:00
% date -d "$past" +%Y%m%d%H%M%S
20200120182450

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 unix shell 脚本中为日期添加时间?

来自分类Dev

如何在Oracle中为日期(时间戳)添加分钟?

来自分类Dev

如何在Laravel 5中为输入字段时间和日期添加引导类

来自分类Dev

如何在Python中为日期时间对象添加填充零?

来自分类Dev

如何在Oracle中为日期(时间戳)添加分钟?

来自分类Dev

如何在Oracle中向日期添加时间间隔

来自分类Dev

如何在日期选择器日历中添加时间?

来自分类Dev

如何在 Salesforce Apex 中添加日期时间?

来自分类Dev

如何在SQL中为日期时间字段应用索引

来自分类Dev

如何在Azure逻辑应用程序中以毫秒为单位获取两个日期时间变量的时差

来自分类Dev

如何在PHP中添加两个时间变量

来自分类Dev

如何在Scala中为变量分配静态日期

来自分类Dev

在PHP中为日期时间添加小时

来自分类Dev

如何在PHP中为Minutes添加时间戳

来自分类Dev

如何在Clojure中为日期添加天数

来自分类Dev

如何在linux中以秒为单位解析经过的时间

来自分类Dev

如何在Directive Link函数中为变量添加TemplateURL?

来自分类Dev

如何在 PHP 中为变量添加单引号

来自分类Dev

如何在R中的日期时间对象中添加日期和分钟?

来自分类Dev

如何在导出为CSV之前向每行添加日期/时间

来自分类Dev

如何在时间和日期时钟上为其他位置添加缺少的城市?

来自分类Dev

如何从以日期为字符的变量中删除时间字段字符串?

来自分类Dev

如何在Linq中添加日期时间中的Month并与另一个日期时间进行比较?

来自分类Dev

如何在Linq中添加日期时间中的Month并与另一个日期时间进行比较?

来自分类Dev

如何在Linux中将变量设置为当前日期和date-1?

来自分类Dev

如何在Python中的日期时间对象中添加填充零?

来自分类Dev

如何在PHP中的ISO日期时间字符串中添加一秒

来自分类Dev

如何在导航栏中为我在 django 中的所有模板设置日期时间?

来自分类Dev

如何在日期时间变量中增加天数和小时数?

Related 相关文章

  1. 1

    如何在 unix shell 脚本中为日期添加时间?

  2. 2

    如何在Oracle中为日期(时间戳)添加分钟?

  3. 3

    如何在Laravel 5中为输入字段时间和日期添加引导类

  4. 4

    如何在Python中为日期时间对象添加填充零?

  5. 5

    如何在Oracle中为日期(时间戳)添加分钟?

  6. 6

    如何在Oracle中向日期添加时间间隔

  7. 7

    如何在日期选择器日历中添加时间?

  8. 8

    如何在 Salesforce Apex 中添加日期时间?

  9. 9

    如何在SQL中为日期时间字段应用索引

  10. 10

    如何在Azure逻辑应用程序中以毫秒为单位获取两个日期时间变量的时差

  11. 11

    如何在PHP中添加两个时间变量

  12. 12

    如何在Scala中为变量分配静态日期

  13. 13

    在PHP中为日期时间添加小时

  14. 14

    如何在PHP中为Minutes添加时间戳

  15. 15

    如何在Clojure中为日期添加天数

  16. 16

    如何在linux中以秒为单位解析经过的时间

  17. 17

    如何在Directive Link函数中为变量添加TemplateURL?

  18. 18

    如何在 PHP 中为变量添加单引号

  19. 19

    如何在R中的日期时间对象中添加日期和分钟?

  20. 20

    如何在导出为CSV之前向每行添加日期/时间

  21. 21

    如何在时间和日期时钟上为其他位置添加缺少的城市?

  22. 22

    如何从以日期为字符的变量中删除时间字段字符串?

  23. 23

    如何在Linq中添加日期时间中的Month并与另一个日期时间进行比较?

  24. 24

    如何在Linq中添加日期时间中的Month并与另一个日期时间进行比较?

  25. 25

    如何在Linux中将变量设置为当前日期和date-1?

  26. 26

    如何在Python中的日期时间对象中添加填充零?

  27. 27

    如何在PHP中的ISO日期时间字符串中添加一秒

  28. 28

    如何在导航栏中为我在 django 中的所有模板设置日期时间?

  29. 29

    如何在日期时间变量中增加天数和小时数?

热门标签

归档