2011-08-22 34 views
8

Dưới đây là một ví dụ về cách API Facebook Graph đang trở lại chuỗi ngày đối với tôi:Parse FB Graph API chuỗi ngày vào python datetime

2011-03-06T03: 36: 45 + 0000

sẽ như thế nào tôi phân tích cú pháp này thành một lớp datthon python? Tôi biết về hàm datetime.strptime, có tham số thứ hai chứa chuỗi định dạng googly-eyed nhưng không biết chữ cái và dấu gạch ngang nào để bao gồm.

Trả lời

13

Dưới đây là với thời gian & strptime:

>>> time.strptime('2011-03-06T03:36:45+0000', '%Y-%m-%dT%H:%M:%S+0000') 
time.struct_time(tm_year=2011, tm_mon=3, tm_mday=6, tm_hour=3, tm_min=36, tm_sec=45, tm_wday=6, tm_yday=65, tm_isdst=-1) 

hoặc với datetime:

>>> datetime.datetime.strptime('2011-03-06T03:36:45+0000','%Y-%m-%dT%H:%M:%S+0000') 

Như bạn thấy nó trả về time_struct với các trường một cách chính xác điền.

Dưới đây là bản dịch của các định dạng:

  • % Y = Năm với thế kỷ (2011)
  • % m = tháng w/hàng đầu zero
  • % d = ngày w/hàng đầu zero
  • % H = giờ w/hàng đầu bằng không, 24 giờ đồng hồ
  • % M = phút
  • % S = thứ hai
  • T, - và: được sử dụng như delimiters, và bao gồm các chuỗi như đen
  • 0000 một lần nữa được đưa vào như một chuỗi chữ
+0

này làm việc rực rỡ ... thanks for phục vụ cho sự lười biếng của tôi :) –

+0

Không vấn đề ... lần này haha. Tìm một cách viết nhanh như thế này có thể là những gì người khác đang tìm kiếm. – shelhamer

1
In [10]: datetime.datetime.strptime('2011-03-06T03:36:45+0000','%Y-%m-%dT%H:%M:%S+0000') 

Out[10]: datetime.datetime(2011, 3, 6, 3, 36, 45) 
Các vấn đề liên quan