2012-06-11 40 views
5

Tôi có một chuỗi datetime trong hình thức của một chuỗi như:phân tích chuỗi ngày trong python (chuyển đổi chuỗi ngày)

2011-10-23T08:00:00-07:00 

Làm thế nào để tôi phân tích chuỗi này như đối tượng datetime.

tôi đã làm như sau đọc tài liệu:

date = datetime.strptime(data[4],"%Y-%m-%d%Z") 

nhưng tôi nhận được lỗi

ValueError: time data '2011-10-23T08:00:00-07:00' does not match format '%Y-%m-%d%Z' 

mà là rất rõ ràng.

Nhưng tôi không biết cách đọc định dạng này.

Mọi đề xuất. Cảm ơn

Edit: Ngoài ra, tôi phải thêm, tất cả tôi quan tâm là phần ngày

Trả lời

23

Chuẩn datetime.datetime.strptime có vấn đề với các định nghĩa múi giờ. Sử dụng dateutil.parser

>>> from dateutil import parser 
>>> parser.parse("2011-10-23T08:00:00-07:00") 
datetime.datetime(2011, 10, 23, 8, 0, tzinfo=tzoffset(None, -25200)) 

Nếu bạn quan tâm đến chỉ là phần cập nhật, bạn có thể thử nó mà không dateutil.parser:

>>> from datetime import datetime 
>>> datetime.strptime(data[4].partition('T')[0], '%Y-%m-%d').date() 
datetime.date(2011, 10, 23) 
Các vấn đề liên quan