【问题标题】:Convert date and time to seconds将日期和时间转换为秒
【发布时间】:2017-10-10 00:59:06
【问题描述】:

我必须将下面的日期转换为秒,存储在一个变量中。

var_date=2017/02/16.10:09:59

我正在使用 AIX,一个 IBM Unix 系统,但以下命令不起作用。

date -d $var_date +%s

谁能提出解决这个问题的解决方案?

【问题讨论】:

    标签: shell aix


    【解决方案1】:

    有一个日期字符串格式的要求,它作为-d选项的参数传递:

    1. 它应该由 DATE 和 TIME 组成,只有 DATE 或只有 TIME 部分

      DATE
      TIME
      DATE TIME
      
    2. DATE 和 TIME 部分由空格或任何文字字符 [a-zA-Z] 相互分隔:

      DATE TIME
      DATETTIME
      DATEATIME
      DATEiTIME
      ...
      
    3. 字符串可以从 DATE 或 TIME 部分开始:

      DATE TIME
      TIME DATE
      
    4. DATE 由 2 或 3 部分表示,由 '/' 或 '-' 号分隔:

      YYYY/MM/DD
      YYYY-MM-DD
      
      MM/DD
      MM/DD/YYYY
      YYYY/MM/DD
      

      注意 MM 和 DD 是必填字段,月份应该放在日期之前。 如果未定义年份,则考虑当前年份。 它还允许在没有 delittars 的情况下使用日期。在这种情况下,日期只能以以下格式显示:

      YYYYMMDD
      
    5. TIME 包含 1 到 3 个部分,由 ':' 号分隔:

      HH
      HH:MM
      HH:MM:SS
      

      如果没有 DATE 部分,则考虑当前日期。

    【讨论】:

      【解决方案2】:

      尝试为变量添加引号。 日期 -d "$var_date" +%s

          $ var_date=2017/02/16.10:09:59
          $ date -d "$var_date" +%s
          1487236199
      

      【讨论】:

        猜你喜欢
        • 2017-12-21
        • 1970-01-01
        • 2014-11-26
        • 2011-05-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-14
        • 1970-01-01
        相关资源
        最近更新 更多