tiene suma saber redondear numero imprimir digitos decimales cuantas cortar como cifras python date y2k 2-digit-year

saber - suma de digitos en python



¿Cómo analizar las fechas de cadena con 2 dígitos año? (5)

Pase el siglo a su fecha usando su propio pivote:

year = int(date[0:2]) if 59 <= year <= 99: date = ''19'' + date else date = ''20'' + date

y luego use strptime con la directiva %Y lugar de %y .

Necesito analizar cadenas que representan fechas de 6 dígitos en el formato yymmdd donde yy varía de 59 a 05 (1959 a 2005). De acuerdo con los documentos del módulo de time , el año pivote predeterminado de Python es 1969, lo que no funcionará para mí.

¿Existe una manera fácil de anular el año pivote o puede sugerir alguna otra solución? Estoy usando Python 2.7. ¡Gracias!


Recientemente tuvo un caso similar, terminó con este cálculo y lógica básicos:

pivotyear = 1969 century = int(str(pivotyear)[:2]) * 100 def year_2to4_digit(year): return century + year if century + year > pivotyear else (century + 100) + year


También puedes realizar lo siguiente:

today=datetime.datetime.today().strftime("%m/%d/%Y") today=today[:-4]+today[-2:]


datetime y lo analizaría normalmente. Luego usaría datetime.datetime.replace en el objeto si está más allá de su fecha límite - Ajustándolo de nuevo 100 años:

import datetime dd = datetime.datetime.strptime(date,''%y%m%d'') if dd.year > 2005: dd = dd.replace(year=dd.year-100)


import datetime date = ''20-Apr-53'' dt = datetime.datetime.strptime( date, ''%d-%b-%y'' ) if dt.year > 2000: dt = dt.replace( year=dt.year-100 ) ^2053 ^1953 print dt.strftime( ''%Y-%m-%d'' )