Peterson Peterson - 5 days ago 5
Javascript Question

Adding milliseconds to a date and get the new date by JavaScript

I want first Sunday of a year. I can fetch 1st day of year and add the remaining days for first Sunday (say for 2 days for year 2016) and now want the new date by adding milliseconds for thsoe 2 days. But I am not getting desired result. Please, help.

<script>

//I want to get date for 1st Sunday of Year
var year = 2016;
var date = new Date(year,0,1);
var day = date.getDay();

var dayDifference = ((7 - day)%7);
var firstSunday = date.getMilliseconds() + (dayDifference * 86400000);

console.log(new Date(firstSunday));

</script>


RESULT:


Sat Jan 03 1970 05:30:00 GMT+0530 (India Standard Time)


I expect date to be of 03 Jan 2016

Answer

You can simple use setDate method to get desired result.

var year = 2016;
var date = new Date(year,0,1);
var day = date.getDay();

var dayDifference = ((7 - day)%7);
date.setDate(date.getDate() + dayDifference)
Comments