2011-08-22 9 views
8

Ecco un esempio di come l'API di Facebook Graph sta tornando stringhe di data per me:Parse FB Graph API stringa della data in pitone datetime

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

come farei analizzarlo in una classe datetime python? Sono a conoscenza della funzione datetime.strptime, che contiene un secondo parametro che contiene una stringa di formato con gli occhi googly, ma non so quali lettere e trattini includere.

risposta

13

Qui è con il tempo & 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) 

o con datetime:

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

Come si vede restituisce il time_struct con i campi compilati correttamente.

di seguito il testo del formato:

  • % Y = anno con il secolo (2011)
  • % m = mese w/zero
  • % d = giorno w/zero
  • % H = ora w/zero, a 24 ore
  • % M = minuti
  • % S = seconda
  • T, -, e: vengono utilizzati come delimitatori, e incluse le stringhe letterali
  • 0000 è ancora una volta incluso come una stringa letterale
+0

Questo ha funzionato brillantemente ... grazie per la ristorazione alla mia pigrizia :) –

+0

No problema ... questa volta haha. Immagino che una rapida scrittura come questa potrebbe essere ciò che gli altri stanno cercando. – 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)