2009-11-16 55 views

回答

15

我建议如下:

import datetime 
date = datetime.datetime.strptime("111609", "%m%d%y") 
print date.strftime("%m/%d/%Y") 

这将010199转换为01/01/199901010901/01/2009

0
date = '111609' 
new_date = date[0:2] + '/' + date[2:4] + '/' + date[4:6] 
+0

错过了四位数年份部分。那么如果日期是“010199”呢? – 2009-11-16 21:51:31

+0

这个问题需要4位数的年份,而不仅仅是原始字符串 – 2009-11-16 21:52:03

+0

的2位数字。失败我的一部分。我只回答,因为它看起来像OP想要一个黑客一起回答。日期时间ftw,imo。 – physicsmichael 2009-11-16 22:12:09

0
>>> s = '111609' 
>>> d = datetime.date(int('20' + s[4:6]), int(s[0:2]), int(s[2:4])) 
>>> # or, alternatively (and better!), as initially shown here, by Tim 
>>> # d = datetime.datetime.strptime(s, "%m%d%y") 
>>> d.strftime('%m/%d/%Y') 
'11/16/2009' 

为何strptime()方法更好,其中一个原因是,它的日期接近当代的交易,有一个窗口,即妥善处理日期在20世纪后期和恰逢21世纪初。

-1

不完整的,但这里有一个想法

11/16/2009

date_var = ("11/16/2009")  
datetime.date.replace(year=2009, month=11, day=16)