python 2.4中的datetime命令行参数

Ike*_*ker 9 python datetime

我想在命令行上将datetime值传递给我的python脚本.我的第一个想法是使用optparse并将值作为字符串传递,然后使用datetime.strptime将其转换为日期时间.这在我的机器上工作正常(python 2.6),但是我还需要在运行python 2.4的机器上运行这个脚本,它没有datetime.strptime.

如何将日期时间值传递给python 2.4中的脚本?

这是我在2.6中使用的代码:

parser = optparse.OptionParser()
parser.add_option("-m", "--max_timestamp", dest="max_timestamp",
                  help="only aggregate items older than MAX_TIMESTAMP", 
                  metavar="MAX_TIMESTAMP(YYYY-MM-DD HH24:MM)")
options,args = parser.parse_args()
if options.max_timestamp:
    # Try parsing the date argument
    try:
        max_timestamp = datetime.datetime.strptime(options.max_timestamp, "%Y-%m-%d %H:%M")
    except:
        print "Error parsing date input:",sys.exc_info()
        sys.exit(1)
Run Code Online (Sandbox Code Playgroud)

Ale*_*lli 16

通过2.4中time已经存在的模块strptime:

>>> import time
>>> t = time.strptime("2010-02-02 7:31", "%Y-%m-%d %H:%M")
>>> t
(2010, 2, 2, 7, 31, 0, 1, 33, -1)
>>> import datetime
>>> datetime.datetime(*t[:6])
datetime.datetime(2010, 2, 2, 7, 31)
Run Code Online (Sandbox Code Playgroud)

  • @StephenJohnson,是的,除非当然你需要支持过时版本的Python作为OP(在他5年前的Q中)非常具体地说他做了 - 在这种情况下,知道如何在这些古老版本中做事仍然非常重要:-). (2认同)