date - GNU 日期中有错误吗?(计算偏移量)
问题描述
我正在尝试按周对日志文件条目进行分组,并使用 GNU 日期来查找时间戳偏移量,以便与日志条目进行比较:
$ date --version
date (GNU coreutils) 8.25
$ today=$(date +%F)
$ ts_sow=$(date -d "$today - $(( $(date -d $today +%u) - 1) days" +%F)
这给出了本周星期一的日期。
$ echo $today
2018-11-15
$ echo $ts_sow
2018-11-12
现在当我想回到前一周时,我可以从本周开始偏移 7 天......
$ ts_sopw=$(date -d "$ts_sow - 7 days" +%F)
$ echo $ts_sopw
2018.11-05
但是,如果我尝试将两个偏移量都应用于原始开始日期,则会给出不正确的结果......
$ ts_sopw=$(date -d "$today - $(( $(date -d $today +%u) - 1 - 7 )) days" +$F)
$ echo $ts_sopw
2018-11-11
这是一个错误,还是我不理解这里发生的更多事情?
解决方案
使用正确的算术,我可以得到正确的结果:
$ ts_sopw=$(date -d "$today - $(( $(date -d $today +%u) - 1 + 7 )) days" +$F)
$ echo $ts_sopw
2018-11-05
我是虫子!
推荐阅读
- reactjs - 如何使用 axios 上传带有 jodit-react 的图像
- python - 使用python3检查字符串是否是有效的回文
- string - 两列中每一对的 vsetdiff
- html - 导航栏折叠切换不起作用(Bootstrap5)
- javascript - 客户端 Javascript:是否可以在 DOM 中获取 HTML 元素的布局文本再现?
- ios - swiftui 在长按消息应用程序后将视图带到中心并模糊背景
- reactjs - 从 React Router v6 Navigate 检索状态
- r - R Shiny:有没有办法在用户输入中读取单个反斜杠?
- python - 我将如何测量/记录 keras / tensorflow 的人工神经网络算法的总训练时间?
- reactjs - 如何将地理位置传递给传单?