Unix Date 命令对部分服务器不起作用

Unix Date 命令对部分服务器不起作用

我正在尝试在 unix 服务器中执行昨天的 date 命令。尝试的命令是:

date --date="1 day ago"
date --date="1 days ago"  
date --date="yesterday"
date --date="-1 day"

这些命令在一台服务器上有效,但在其他几台服务器上,同样的命令却无效,这些服务器上的日期可以正确打印当前日期。有人能指出其他服务器可能存在什么问题吗?我收到如下错误:illegal option -- date=1 day ago

服务器详细信息:SunOS wupsa02a0014 5.10 Generic_147440-15 sun4u sparc SUNW,SPARC-Enterprise

答案1

--date在许多 UNIX 系统上并不是一个传统的日期选项。

如果您要使用多种 UNIX/linux 类平台,请尝试检查每个平台上 date (1) 的手册页(如果已安装手册页),并查看所有平台上通用的日期选项,作为起点。

您可能会发现 date -v(调整)相当易于移植。

类似的东西date -v-1d可能会起作用。在每个系统上测试它,看看它是否在所有系统上都有效。它显示过去一天调整的当前数据值。

答案2

TZ您只需在调用之前从环境变量中减去 24 小时即可date

$ TZ=GMT date
Wed Mar 27 09:11:02 GMT 2013
$ TZ=GMT+24 date
Tue Mar 26 09:11:05 GMT 2013

适用于 Solaris 和 Linux。

相关内容