我想在命令行上将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)
答案 0 :(得分:16)
通过time
模块,在2.4中已经有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)