2013-05-27 223 views
19

的一天,我都日期字符串是这样的:转换日期字符串

'January 11, 2010' 

,我需要返回的星期几的功能,像

'mon', or 'monday' 

等 我可以Python帮助中找不到它。 有人吗?谢谢。

+0

使用日期时间模块。 http://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior获取更多信息。 – rajpy

回答

42

你可能想要使用strptime and strftime方法datetime

>>> import datetime 
>>> datetime.datetime.strptime('January 11, 2010', '%B %d, %Y').strftime('%A') 
'Monday' 

'Mon'

>>> datetime.datetime.strptime('January 11, 2010', '%B %d, %Y').strftime('%a') 
'Mon' 
1
>>> import time 
>>> dateStr = 'January 11, 2010' 
>>> timestamp = time.strptime(dateStr, '%B %d, %Y') 
>>> timestamp 
time.struct_time(tm_year=2010, tm_mon=1, tm_mday=11, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=11, tm_isdst=-1) 
5

可以使用第三方分析器,例如dateutil

而对于你原来的问题代码:

>>> from dateutil import parser 
>>> parser.parse('January 11, 2010').strftime("%a") 
'Mon' 
>>> parser.parse('January 11, 2010').strftime("%A") 
'Monday' 
0
import time 

time.strftime('%A') 
+0

你能否给你的代码添加一些上下文? – ppperry

0

我想这样做像下面的最快方法:

df[Date_Column].dt.weekday_name