¿Cómo puedo imprimir el próximo año si el año actual se da en python usando el código más simple, posiblemente en una línea usando el módulo de fecha y hora?Cómo imprimir el próximo año del año en curso en Python
Respuesta
Ambos objetos de fecha y fecha y hora tienen un atributo year
, que es un número. Sólo tiene que añadir 1:
>>> from datetime import date
>>> print date.today().year + 1
2013
Si tiene el año actual en una variable, basta con añadir 1 directamente, sin necesidad de molestar con el módulo de fecha y hora:
>>> year = 2012
>>> print year + 1
2013
Si usted tiene la fecha en una cadena , basta con seleccionar los 4 dígitos que representan el año y pasarlo a int
:
>>> date = '2012-06-26'
>>> print int(date[:4]) + 1
2013
aritmética Año es extremadamente simple, que sea un número entero y sólo tiene que añadir 1. no puede ser mucho más sencillo r que eso.
Sin embargo, si se está trabajando con una fecha entera, y lo que necesita la misma fecha pero un año después, utilizar los componentes para crear un nuevo date
objeto con el año incrementado en uno:
>>> today = date.today()
>>> print date(today.year + 1, today.month, today.day)
2013-06-26
o puede utilizar la función .replace
, que devuelve una copia con el campo del especificado cambiado:
>>> print today.replace(year=today.year + 1)
2013-06-26
Tenga en cuenta que esto puede ser un poco complicado cuando estamos en febrero today
número 29 en un año bisiesto. El absoluto, a prueba de fallos forma correcta de trabajar de esta uno es así:
def nextyear(dt):
try:
return dt.replace(year=dt.year+1)
except ValueError:
# February 29th in a leap year
# Add 365 days instead to arrive at March 1st
return dt + timedelta(days=365)
La función' .replace' no funcionará de manera confiable. 'd = date (2012, 2, 29)' 'd.replace (year = d.year + 1)' throws 'ValueError: el día está fuera de rango para el mes' y tampoco lo hará su opción anterior para construir un nuevo objeto de fecha manejar este caso. – Duncan
@Duncan: agradable; la pregunta es, entonces, ¿qué es el 29 de febrero un año después? ¿01 de marzo? –
Por lo general, el 1 de marzo pero podría haber excepciones. Si saca un bono de 1 año el 29 de febrero, entonces creo que madurará el 1 de marzo del año siguiente. Por supuesto, una vez que ingresa en los cálculos de dinero, en realidad madurará el primer día hábil que está al menos un año sin saltarse los fines de semana y días festivos. – Duncan
- 1. primer día del año en curso
- 2. Obtener el próximo año del NSDate actual?
- 3. Aplicación ColdFusion hoy - Flex el próximo año. ¿Consideraciones para maximizar la reutilización del nivel lógico el próximo año?
- 4. Fecha de PHP; ¿Cómo encontrar el próximo año?
- 5. Python Pregunta: año y día del año hasta la fecha?
- 6. Forma más corta de imprimir el año actual en Javascript
- 7. ¿Cómo generar año en Smarty?
- 8. Año en Nullable FechaTiempo
- 9. ¿Cómo obtener el día del año en ruby?
- 10. cómo obtener el día del año en concha?
- 11. ¿Cómo encontrar el día actual del año en PHP?
- 12. Consulta SQL donde() el año de la fecha es $ año
- 13. Verificar el año bisiesto
- 14. Día juliano del año en Java
- 15. jquery ui datepicker año siguiente y anterior
- 16. DateTime Format Día del año
- 17. Hoy es el día del año enésimo
- 18. obtener la semana del año a partir del día del año
- 19. Python seleccione fecha aleatoria en el año actual
- 20. Clave primaria basada en el año?
- 21. Fin de año con MySQL
- 22. NSDateFormatter muestra el año incorrecto
- 23. ¿Cómo calcular el próximo viernes en Python?
- 24. Obtener el valor entero del año actual en Java
- 25. Marca de tiempo Python del día, mes, año
- 26. Actualizando el año en la variable datetime
- 27. Insertar el año actual en un TextView
- 28. Revisar el año bisiesto en C#
- 29. Cómo encontrar año bisiesto programáticamente en C
- 30. Ramita: para cada mes del año
i a conseguir '2005' del siguiente código 'time.strftime (' % Y 'time.strptime (' 2005-11- 11 ','% Y-% m-% d '))' .. ahora lo que necesito es obtener '2006' sin mucho cambio en este código – Alchemist777
'time.strptime ('2005-11-11', '% Y-% m-% d '). Tm_year + 1' – icecrime
'print year + 1' – Matthias