Búsqueda de sitios web

Obtener la primera y última fecha del mes actual con JavaScript o jQuery


Como dice el título, estoy atascado tratando de encontrar una forma de obtener la primera y última fecha del mes actual con JavaScript o jQuery, y formatearla como:

Por ejemplo, para noviembre debería ser:

var firstdate = '11/01/2012';
var lastdate = '11/30/2012';

Respuesta #1

Muy simple, no se requiere biblioteca:

var date = new Date();
var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
var lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);

o podrías preferir:

var date = new Date(), y = date.getFullYear(), m = date.getMonth();
var firstDay = new Date(y, m, 1);
var lastDay = new Date(y, m + 1, 0);

EDITAR

Algunos navegadores tratarán los años de dos dígitos como si pertenecieran al siglo XX, de modo que:

new Date(14, 0, 1);

da 1 de enero de 1914. Para evitar eso, crea una Fecha y luego establece sus valores usando setFullYear:

var date = new Date();
date.setFullYear(14, 0, 1); // 1 January, 14

Respuesta #2

Lo arreglé con Datejs

Esto está alertando el primer día:

var fd = Date.today().clearTime().moveToFirstDayOfMonth();
var firstday = fd.toString("MM/dd/yyyy");
alert(firstday);

Esto es para el último día:

var ld = Date.today().clearTime().moveToLastDayOfMonth();
var lastday = ld.toString("MM/dd/yyyy");
alert(lastday);

Artículos relacionados