¿Cómo sumar días a hoy en formato día-mes-año? Probé este código pero además obtuve la zona horaria y el mes en el nombre de la palabra corta. Quiero recibir, por ejemplo, el 12 de agosto de 2023 aquí está el código:
Date.prototype.addDays = function(days) { var date = new Date(this.valueOf()); date.setDate(date.getDate() + days); return date; } var date = new Date(); console.log(date.addDays(5));Para obtener el formato: Month Day, Year , simplemente use la API de internacionalización de ECMAScript :
return date.toLocaleString('en-us',{month:'long', year:'numeric', day:'numeric'}) month:'long' //August day:'numeric' //12 year:'numeric' //2023Nota: 'largo' usa el nombre completo del mes, 'corto' para el nombre corto,
Crear una matriz de meses
var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; En la función Date.prototype.addDays , devuelva la cadena de fecha como
return months[date.getMonth()] + " " + date.getDate() + ", " + date.getFullYear();Producción:
July 15, 2022Está agregando 2 fechas de manera correcta, solo hay un problema al generar el error. Puede formatear la fecha de la siguiente manera según esta respuesta :
Date.prototype.addDays = function(days) { var date = new Date(this.valueOf()); date.setDate(date.getDate() + days); // return formatted date var options = {year: 'numeric', month: 'long', day: 'numeric' }; return date.toLocaleDateString("en-US", options); } var date = new Date(); console.log(date.addDays(5));