【问题标题】:Date manipulation in AIX shell scriptAIX shell 脚本中的日期操作
【发布时间】:2012-02-22 01:10:55
【问题描述】:

抱歉,如果它重复任何旧帖子。如果是这样,请重定向。

我正在 AIX 中编写一个 shell 脚本,我们从文件/命令行获取日期。 现在,我必须将当前日期与输入日期进行比较,看看相差的天数。

我试图用谷歌搜索它的解决方案,但到处都找不到合适的解决方案。

这里我不能设置“日期”变量,因为我不是root用户。

任何输入都会有很大帮助。

【问题讨论】:

    标签: shell unix aix


    【解决方案1】:

    Gnu date 具有满足您要求的 --date 选项。 但由于 AIX 中默认情况下不提供此功能,因此对您没有帮助。 因此,您必须使用 awk/perl 编写自己的代码来实现它。 在 stackoverflow 中查看这个question,它提供了一些关于日期算法的想法。

    【讨论】:

      【解决方案2】:

      对于稍微复杂一点的问题,我建议使用 datecalc(您可以在 http://www.unix.com/unix-dummies-questions-answers/4870-days-elapsed-between-2-dates.html#post16559 找到一个版本)。它可以在大多数 UNIX 方言中实现。

      【讨论】:

        【解决方案3】:
        echo $(($(($(date -d "2010-06-01" "+%s") - $(date -d "2010-05-15" "+%s"))) / 86400))
        

        来源:Shell script to get difference in two dates

        【讨论】:

        • 仅适用于 GNU 日期,不适用于 AIX。
        猜你喜欢
        • 1970-01-01
        • 2017-06-01
        • 1970-01-01
        • 2014-12-03
        • 1970-01-01
        • 2011-04-29
        • 1970-01-01
        • 2011-03-12
        • 2019-05-16
        相关资源
        最近更新 更多