Få første og siste dato i gjeldende måned med JavaScript eller jQuery


Som tittelen sier, jeg sitter fast med å finne en måte å få den første og siste datoen i inneværende måned med JavaScript eller jQuery, og formatere den som:

For eksempel, for november bør det være:

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

Svar #1

Veldig enkelt, ingen bibliotek nødvendig:

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

eller du foretrekker kanskje:

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);

REDIGER

Noen nettlesere vil behandle tosifrede årstall som om de er på 1900-tallet, slik at:

new Date(14, 0, 1);

gir 1. januar 1914. For å unngå det, opprett en dato og sett deretter verdiene ved å bruke setFullYear:

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

Svar #2

Jeg fikset det med Datejs

Dette varsler den første dagen:

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

Dette er for den siste dagen:

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

Relaterte artikler