从用户提供的日期中减去yymm中20个月的unix

时间:2016-11-27 07:58:27

标签: shell date unix

def processData(yamlData, logName=None):
    ......
    with open(logName, 'a') if logName else sys.stdout as fp:
        print(........, file=fp)
        print(........, file=fp)
    .....
    with open(logName, 'a') if logName else sys.stdout as fp:
        print(........, file=fp)
        print(........, file=fp)

日期未按预期进行。

2 个答案:

答案 0 :(得分:3)

一种简单的方法是,只需在01的输入中添加yymm即可提供格式date -d作为开始日期,然后简单地减去{{} 1}}月,以20格式输出结果日期。例如,如果您提供日期%y%m(1999年10月),则可以执行以下操作:

9910

1998年2月(20个月前)返回

注意:上面的$ date -d "991001 - 20 months" +%y%m 9802 只表示普通用户的命令,而不是$表示超级用户的命令(例如root))

答案 1 :(得分:0)

$(...)内,必须有一个命令,例如$(date ...)

这应该从您收到的错误消息中明显看出,可能是oldest_year_month_temp: no such command

从变量中读取时,必须在其名称前写上$