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'' )