dado un objeto de fecha, cómo conseguir el primer día de su mes anterior en javascriptprimer día del mes anterior en javascript
Respuesta
function firstDayInPreviousMonth(yourDate) {
var d = new Date(yourDate);
d.setDate(1);
d.setMonth(d.getMonth() - 1);
return d;
}
EDIT: Muy bien ... definitivamente he aprendido algo aquí. Creo que esta es la solución más simple que cubre todos los casos (y sí, funciona para enero):
function firstDayInPreviousMonth(yourDate) {
return new Date(yourDate.getFullYear(), yourDate.getMonth() - 1, 1);
}
La siguiente debería funcionar:
now = new Date();
if (now.getMonth() == 0) {
current = new Date(now.getFullYear() - 1, 11, 1);
} else {
current = new Date(now.getFullYear(), now.getMonth() - 1, 1);
}
teniendo en cuenta que meses son cero basado modo de diciembre es 11 en lugar de 12.
Pero, como otros han señalado, las envolturas mes, incluso como parte de la constructora atómica, por lo que el siguiente también es posible:
now = new Date();
firstDayPrevMonth = new Date(now.getFullYear(), now.getMonth() - 1, 1);
Me gusta este enfoque, pero su solución en realidad no es correcta. Cuando getMonth() == 1, el mes es febrero.Desea comprobar getMonth() == 0, e incluso eso no es necesario porque el constructor de fechas aceptará valores negativos y funcionará correctamente. – Prestaul
Está descuidando el hecho de que setMonth ajustará los valores. La respuesta de Prestaul funciona bien para enero. – overslacked
Sí, pero no para volver a un mes en el que la cantidad de días es menor, lamentablemente. Es mejor construir la nueva fecha atómicamente que en partes. – paxdiablo
Me gusta esta solución. Puede que no sea la más breve, pero pone de relieve algunas de las funciones del método setDate() en la fecha() objetos que no todo el mundo estará familiarizado con:
function firstDayPreviousMonth(originalDate) {
var d = new Date(originalDate);
d.setDate(0); // set to last day of previous month
d.setDate(1); // set to the first day of that month
return d;
}
que hace uso del hecho de que .setDate (0) cambiará la fecha para que apunte al último día del mes anterior, mientras que .setDate (1) lo cambiará (más) para señalar el primer día de ese mes. Permite que las librerías de JavaScript centrales hagan el trabajo pesado.
Puede ver un working Plunk here.
Le ayudará a obtener la primera y la última fecha del mes anterior.
function getLastMonth(){
var now = new Date();
var lastday = new Date(now.getFullYear(), now.getMonth(), 0);
var firstday = new Date(lastday.getFullYear(), lastday.getMonth(), 1);
var lastMonth = firstday.getDate()+'/'+(firstday.getMonth()+1)+'/'+firstday.getFullYear()+' - '+lastday.getDate()+'/'+(firstday.getMonth()+1)+'/'+lastday.getFullYear();
return lastMonth;
}
- 1. Seleccione el primer día del mes anterior en (DB2) SQL
- 2. Javascript a fecha del último día del mes anterior
- 3. Primer y último día del mes actual
- 4. NSDate para el primer día del mes
- 5. Obtenga las fechas del primer y último día del mes anterior en C#
- 6. Buscar el primer y último día del mes calendario anterior en SQL Server Reporting Services (VB.Net)
- 7. Obtener el último día del mes anterior en Oracle Función
- 8. NSDate devuelve una fecha incorrecta el primer día del mes
- 9. ¿Diferencia de versión para strtotime ("primer día del mes pasado")?
- 10. ¿Cómo obtengo el primer día del mes actual?
- 11. Cómo encontrar el primer día del próximo mes, si el mes actual es diciembre
- 12. Cómo obtener la marca de tiempo del mes actual, primer día del mes, hora cero
- 13. cómo obtener el día del mes en javascript
- 14. Obteniendo el primer día del mes de un mes/año específico
- 15. primera y última fecha del mes anterior
- 16. primer día del año en curso
- 17. Último día del mes en .NET
- 18. cálculo del último día del mes
- 19. Retorno Retorno del primer día hábil del mes desde el objeto XTS usando R
- 20. Encontrar el primer día del calendario
- 21. Buscar el nombre del día por año, mes y día
- 22. Obtener el último día del mes?
- 23. Cómo obtener el último día del mes
- 24. ¿Cómo obtener el día del mes?
- 25. Datepicker fechas del mes anterior seleccionables
- 26. obtener enésimo día de la semana del mes en C#
- 27. día foreach en el mes
- 28. ¿Cómo puedo obtener el primer y último día del mes con DateTime de Perl?
- 29. ¿Cuál es la forma más eficiente de obtener el primer día del mes actual?
- 30. ¿Cuál es la mejor manera de obtener el primer y el último día del mes pasado?
un título más descriptivo podría ser bueno ... – helloandre
He actualizado el título – Prestaul
http://stackoverflow.com/questions/594054/date-problem-in-java se parece a su pregunta anterior era para Java. entonces no es exactamente un duplicado :) –