import dateutil.parser as parser
import datetime
def convertToISO8601(text):
"""
Tiene que recibir una cadena con la fecha
Devuelve la fecha en formato ISO 8601 o vacio si hay algun error
"""
try:
text=str(text)
date = (parser.parse(text))
dateIsoFormat=date.isoformat()
if dateIsoFormat.find("+",10)==-1 and dateIsoFormat.find("-",10)==-1:
dateIsoFormat+="+00:00"
return dateIsoFormat
except:
return ""
print(convertToISO8601("2016-05-22")) # 2016-05-22T00:00:00+00:00
print(convertToISO8601("2016-05-22 00:00:00")) # 2016-05-22T00:00:00+00:00
print(convertToISO8601("2016-05-22 10:12:25")) # 2016-05-22T10:12:25+00:00
print(convertToISO8601("2016-05-22T10:12:25")) # 2016-05-22T10:12:25+00:00
print(convertToISO8601("2016-05-22T10:12:25+01:00")) # 2016-05-22T10:12:25+01:00
print(convertToISO8601("Thu, 22 May 2016 10:12:25 +0100")) # 2016-05-22T10:12:25+01:00
print(convertToISO8601(datetime.datetime.today())) # 2018-01-10T12:05:16.178871+00:00
print(convertToISO8601("fecha erronea"))
Comentarios sobre la versión: Versión 1.0 (0)
No hay comentarios