将日期和时间转换为秒

时间:2017-05-11 06:48:57

标签: shell aix

我必须将以下日期转换为秒,存储在变量中。

var_date=2017/02/16.10:09:59

我正在使用AIX,IBM Unix系统,以下命令无效。

date -d $var_date +%s

任何人都可以提出解决方案来解决这个问题吗?

2 个答案:

答案 0 :(得分: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是必填字段,月份应放在日期之前。 如果未定义年份,则考虑当前年份。 它还允许使用没有delititars的日期。在这种情况下,日期只能以以下格式显示:

    YYYYMMDD
    
  5. 时间包含1到3个由“:”符号定界的部分:

    HH
    HH:MM
    HH:MM:SS
    

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

答案 1 :(得分:0)

尝试为变量添加引号。 date -d“$ var_date”+%s

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