tablas print imprimir hacer guardar funcion entrada datos como python date datetime format strptime

imprimir - print en python 3



Cómo formatear la cadena de fecha a través de múltiples formatos en Python (4)

Tengo tres formatos de fecha: YYYY-MM-DD , DD.MM.YYYY , DD/MM/YYYY .

¿Es posible validar y analizar cadenas como 2014-05-18 o 18.5.2014 o 18/05/2019 ?


Este es realmente un problema al que me enfrentaba y cómo lo abordé, mi propósito principal era el de los separadores de fechas.

class InputRequest: "This class contain all inputs function that will be required in this program. " def __init__(self, stockTickerName = ''YHOO'', stockSite=''yahoo'', startDate = None, endDate = datetime.date.today()): def requestInput(self, requestType =''''): "Fro requesting input from user" self.__requestInput = input(requestType) return self.__requestInput def dateFormat(self, dateType=''''): '''''' this function handles user date input this repeats until the correct format is supplied dataType: this is the type of date, eg: DOF, Date of Arriveal, etc '''''' while True: try: dateString = InputRequest.requestInput(self,dateType) dtFormat = (''%Y/%m/%d'',''%Y-%m-%d'',''%Y.%m.%d'',''%Y,%m,%d'',''%Y/%m/%d'') #you can add extra formats needed for i in dtFormat: try: return datetime.datetime.strptime(dateString, i).strftime(i) except ValueError: pass except ValueError: pass print(''/nNo valid date format found. Try again:'') print("Date must be seperated by either [/ - , . /] (eg: 2012/12/31 --> ): ")


Pitón puro:

from datetime import datetime my_datetime = datetime.strptime(''2014-05-18'', ''%Y-%m-%d'') repr(my_datetime) >>> ''datetime.datetime(2014,5,18,0,0)''

Consulte la documentación del formato datetime.strptime () para ver más cadenas de formato.


Prueba cada formato y ve si funciona:

from datetime import datetime def try_parsing_date(text): for fmt in (''%Y-%m-%d'', ''%d.%m.%Y'', ''%d/%m/%Y''): try: return datetime.strptime(text, fmt) except ValueError: pass raise ValueError(''no valid date format found'')


>>> import dateutil.parser >>> dateutil.parser.parse(date_string)

Esto debería ocuparse de la mayoría de los formatos de fecha estándar en Python 2.7+. Si realmente tiene formatos de fecha súper personalizados, siempre puede recurrir al que menciona Jon Clements.