如何使用 Solaris 的日期获取两周前的日期?

如何使用 Solaris 的日期获取两周前的日期?

Linux 使用:

date -d "2 weeks ago" +%b

Solaris 中的哪个相当于?,我在网上搜索过,但没有找到。

答案1

Solarisdate无法做到这一点。 AFAICT 来自手册页,它甚至无法显示任意日期,因此您不能只获取自纪元以来的秒数日期,减去 2 周(14 * 86400 = 1209600 秒),然后将其赋予date +%b.

如果可以的话,安装 GNU date。如果您有 root 权限,则可以在 /usr/local/gnu/bin 下或类似的目录下(顺便说一句,包含 GNU 日期的 GNU Coreutils 可以为 Solaris 预先打包)这里),如果没有则在 ~/bin 中。

如果您无法安装 GNU date,那么您的下一个最佳选择是编写一个包装器strftime()来执行上述计算,或者用 perl 或 python 编写一个 5 行代码,这两种语言都有出色的日期处理库。

答案2

只是做gdate而不是date.这将为您提供 GNU 日期,而不是传统的 Solaris 日期命令。除非您使用的是非常旧的 Solaris 版本(即 Solaris 10 或更早版本),否则这将起作用。

请注意,如果您位于本地区域,那么您的 sysadm 可能已为您决定gdate不可用,尽管事实上它在全局区域中默认可用。在这种情况下,去告诉他他是......(这里用你自己的话)。

了解更多信息:

Solaris 默认安装(用户工具)

相关内容