parsingdatestring?

我有一个数据集的所有date有以下格式:

2012-10-09T19:00:55Z 

我希望能够使用像.weekday这样的方法。 如何在Python中将它们转换为正确的格式?

您可以使用dateutil.parser.parse将stringparsing为date时间对象。

dateutil.parser.parse会尝试猜测你的string的格式,如果你事先知道确切的格式,那么你可以使用datetime.strptime ,它提供了一个格式string(见Brent Washburne的答案)。

 from dateutil.parser import parse a = "2012-10-09T19:00:55Z" b = parse(a) print(b.weekday()) # 1 (equal to a Tuesday) 

这已经在这里得到了解答: 如何将ISO 8601date时间string转换为Pythondate时间对象?

 d = datetime.datetime.strptime( "2012-10-09T19:00:55Z", "%Y-%m-%dT%H:%M:%SZ" ) d.weekday() 

你应该看moment女巫是momentjs Python的优秀momentjs一个端口。

它的一个优点是支持ISO 8601string格式,以及“%格式”:

 import moment timestring='2012-10-09T19:00:55Z' m = moment.date(time_string, '%Y-%m-%dT%H:%M:%SZ') print m.format('YYYY-MD H:M') print m.weekday 

结果:

 2012-10-09 19:10 2