在Python 2.3中读取格式化日期?

在Python 2.3中读取格式化日期?,python,datetime,Python,Datetime,我从未在Python2.3中使用过datetime模块,我遇到了一个非常愚蠢的问题。我需要阅读格式中的日期 '10-JUL-2010' 然后减去一天,我将使用timedelta,并返回字符串 '09-JUL-2010 00:00:00 ET' 当然,这是数百个日期。虽然它应该是琐碎的,但我在Python2.3中找不到关于如何读取格式化日期的信息!救命啊 编辑 我能够以元组的形式检索格式化日期,但它不会接受用于减法的timedelta对象!还在努力 **编辑** 最后。。。多亏了你的帮助,我才

我从未在Python2.3中使用过datetime模块,我遇到了一个非常愚蠢的问题。我需要阅读格式中的日期

'10-JUL-2010'
然后减去一天,我将使用timedelta,并返回字符串

'09-JUL-2010 00:00:00 ET'
当然,这是数百个日期。虽然它应该是琐碎的,但我在Python2.3中找不到关于如何读取格式化日期的信息!救命啊

编辑

我能够以元组的形式检索格式化日期,但它不会接受用于减法的timedelta对象!还在努力

**编辑**

最后。。。多亏了你的帮助,我才得以按如下方式解决问题:

print (datetime(*(time.strptime(date_string, format)[0:6])).strftime('%d-%b-%Y')).upper()+'00:00:00 ET'
您正在查找datetime.datetime.strptime,但是文档对于该函数来说太糟糕了,它实际上是datetime.datetime.strptime的反向操作

您要查找的格式字符串为:“%d-%b-%Y”

见:和


编辑:哦,快!python 2.3中的datetime模块中没有strTime。它位于时间模块中,您必须使用该模块。

好的,在2.3中没有内置的。但是对于这种格式,你可以手工解析它

months = { 'JAN' : 1, 'FEB' : 2, ... } # write that yourself :p
day,mon,year = thedate.split('-')
day = int(day)
mon = months[mon]
year = int(year)
parsed = datetime.datetime(day=day, month=month, year=year)

如果strtime不适合您,还可以选择使用正则表达式强制执行它:

import re
import date
timestamp_regex = re.compile(r"(\d\d)-(\w\w\w)-(\d\d\d\d)")
# month_mapping: a mapping for 3 letter months to integers
d1 = datetime.date(int(match.group(3)),          #year
                   month_mapping[match.group(2)],#month
                   int(match.group(1)))          #day

是的,但是strtime功能不可用!它位于时间模块中,如编辑中所述。最后一个链接将向你展示光明。谢谢。。。不是,我想得到strtime减去timedelta对象的结果。它们不兼容!这是一场噩梦!谢谢你,苏菲,你对THC4k链接的帮助帮助帮助我解决了这个问题。我会接受你的回答。