Nick D sorununuzu ele resmi yolu vardır. Sorunuzda yaptığınız gibi bir dizgede geçmek istiyorsanız, dateutil modülünün (http://labix.org/python-dateutil) bu tür bir şey için mükemmel desteği vardır.
Basit bir örnek:
>>> parse("Thu Sep 25 2003")
datetime.datetime(2003, 9, 25, 0, 0)
>>> parse("Sep 25 2003")
datetime.datetime(2003, 9, 25, 0, 0)
>>> parse("Sep 2003", default=DEFAULT)
datetime.datetime(2003, 9, 25, 0, 0)
>>> parse("Sep", default=DEFAULT)
datetime.datetime(2003, 9, 25, 0, 0)
>>> parse("2003", default=DEFAULT)
datetime.datetime(2003, 9, 25, 0, 0)
olacağına dair belirsizliklerin olası Kime:
>>> parse("10-09-2003")
datetime.datetime(2003, 10, 9, 0, 0)
>>> parse("10-09-2003", dayfirst=True)
datetime.datetime(2003, 9, 10, 0, 0)
>>> parse("10-09-03")
datetime.datetime(2003, 10, 9, 0, 0)
>>> parse("10-09-03", yearfirst=True)
datetime.datetime(2010, 9, 3, 0, 0)
için örnekler için
, ben şimdi geri bir süre verdi başka bir yanıt kopyalayıp yapıştırmak için gidiyorum bütün tahta üzerinde:
>>> parse("Wed, July 10, '96")
datetime.datetime(1996, 7, 10, 0, 0)
>>> parse("1996.07.10 AD at 15:08:56 PDT", ignoretz=True)
datetime.datetime(1996, 7, 10, 15, 8, 56)
>>> parse("Tuesday, April 12, 1952 AD 3:30:42pm PST", ignoretz=True)
datetime.datetime(1952, 4, 12, 15, 30, 42)
>>> parse("November 5, 1994, 8:15:30 am EST", ignoretz=True)
datetime.datetime(1994, 11, 5, 8, 15, 30)
>>> parse("3rd of May 2001")
datetime.datetime(2001, 5, 3, 0, 0)
>>> parse("5:50 A.M. on June 13, 1990")
datetime.datetime(1990, 6, 13, 5, 50)
burada bunun için belgelerine bir göz atın:
http://labix.org/python-dateutil#head-c0e81a473b647dfa787dc11e8c69557ec2c3ecd2
Çoktan baktım ama nereden başlayacağını bilemedim, belge çok büyük – OscarRyz
: (Sanırım hepsini okumak zorundayım. – OscarRyz
@Oscar Reyes: seninki gibi belirsiz, açık uçlu bir soruyla ilgili belgelerin tam satırını bulmak gerçekten zor.Örneğin, ne yapmak istediğinizi gösteren bir kod pasajı sağlayabilirsiniz. Daha ayrıntılı bir soru verebilirdiniz. –