Estoy tratando de tener un año a partir de la fecha de ahora y no funciona.
JS:
var now = new Date();
var oneYr = new Date();
oneYr.setYear(now.getYear() + 1);
$("#yearFromNow").append(oneYr.toString());
var oneMonth = new Date();
oneMonth.setMonth(now.getMonth() + 1);
$("#monthFromNow").append(oneMonth.toString());
Salida:
one mo. = Thu Dec 22 112 15:16:01 GMT-0500 (Eastern Standard Time)
one yr. = Sun Jan 22 2012 15:16:01 GMT-0500 (Eastern Standard Time)
El año tiene Dec 22 112
... ?? El mes se muestra correctamente Jan 22 2012
.
Si quieres jugar con él, http://jsbin.com/alezaj/edit#javascript,html,live . Esto está en Chrome y Firefox.
¡Gracias!
fuente
new Date(new Date().setFullYear(new Date().getFullYear() + 1))
Esto creará
Date
exactamente un año en el futuro con solo una línea. Primero obtenemos elfullYear
de anew Date
, lo incrementamos, lo configuramos como el año de anew Date
. Podrías pensar que terminamos ahí, pero si nos detuvimos, devolvería una marca de tiempo, no unDate
objeto, por lo que envolvemos todo en unDate
constructor.fuente
setYear()
está obsoleto ,setFullYear()
debería utilizarse en su lugar.Como
setYear()
está obsoleto, la variante correcta es:Todos los ejemplos devuelven la marca de tiempo de Unix, si desea obtener el
Date
objeto, simplemente envuélvalo con otronew Date(...)
fuente
Usando algunas de las respuestas en esta página y aquí , se me ocurrió mi propia respuesta, ya que ninguna de estas respuestas me resolvió por completo.
Aquí está el quid de ello
Y aquí un JSFiddle que tiene un ejemplo de trabajo: https://jsfiddle.net/wavesailor/g9a6qqq5/
fuente
Utilizar este:
fuente
Use setFullyear como otros han publicado, pero tenga en cuenta que esto devuelve un valor de marca de tiempo, no un objeto de fecha. También es un buen candidato en mi humilde opinión para agregar funcionalidad a través del prototipo. Esto nos lleva al siguiente patrón:
fuente
De forma muy sencilla. usa este código.
fuente