【问题标题】:How to get last Week's date in bash SunOS如何在 bash SunOS 中获取上周的日期
【发布时间】:2022-07-06 23:53:35
【问题描述】:

这是我的问题:我有一个备份 bash 脚本,它需要访问名称中带有日期的文件夹,例如:backup_01072022。

当我需要访问昨天的备份文件夹时,我使用了date=`TZ=GMT+24 date +%d%m%Y`

现在我想访问上周的备份文件夹:

date=`TZ=GMT+168 date +%d%m%Y` ,不行,显示今天的日期。

我了解到 TZ 不适用于 +144 以上的值。

SunOS 中是否还有其他方法可以处理日期?

【问题讨论】:

  • 调整时区似乎是一种技巧,充其量只是为了获取过去的时间。
  • SunOS 或 Solaris 以及哪个版本?
  • 顺便说一句,下次你设计这个时,%Y%m%d 是一种更好的格式——确保 ANSI 排序顺序和日期排序顺序是相同的。

标签: bash date sunos


【解决方案1】:

这取决于您系统上date 的版本。

使用GNU date (v 8.26):

$ TZ=GMT date '+%d%m%Y'
06072022                        # today

$ TZ=GMT date '+%d%m%Y' -d 'last week'
29062022

$ TZ=GMT date '+%d%m%Y' -d '7 days ago'
29062022

注意:我将由 OP 决定是否应该调整(或完全使用)显式 TZ 设置

【讨论】:

  • 我认为 SunOS 或 Solaris 都没有附带 GNU date
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-18
  • 1970-01-01
  • 2021-06-12
  • 1970-01-01
  • 1970-01-01
  • 2022-01-19
相关资源
最近更新 更多