window.onload=function(){//获取指定时间戳月份functiongetMonth(timestamp){returnnewDate(timestamp).getMonth()+1}//console.log(getMonth('2023/07/08 19:13:20')) //获取指定时间戳年份 functiongetYear(timestamp){returnnewDate(timestamp).getFullYear()}//console.log(getYear('2023-07-08')) //获取当前年有多少天functiongetYearDay(year){//var year = new Date().getFullYear()let day =365if(year %4===0){
day =366}return day
}//console.log(getYearDay())//获取一个月有多少天/* 1/3/5/7/8/10/12公历月 31天
* 闰年2月29天 其它年份28天 4年一个小润年 366天
*year 年份
*month 月份
**/functiongetMonthDay(year,month){let day =0
month =parseInt(month)let bigMonth =[1,3,5,7,8,10,12]if(bigMonth.indexOf(month)!=-1){
day =31}elseif(month ==2){if(getYearDay(year)===365){
day =28}if(getYearDay(year)===366){
day =29}}else{
day =30}return day
}//获取指定时间到目前时间月份头尾天的时间戳functiontest(){let earlistYear =getYear("2023-06-28T18:14:39.466Z")let earlistMonth =getMonth("2023-06-28T18:14:39.466Z")//获取当前的年份,月份let currentYear =getYear(Date.now())let currentMonth =getMonth(Date.now())let i=0let m =parseInt(currentMonth)let y =parseInt(currentYear)while(true){//获取当前月份多少天let n = m-i
if(n ==0){
m =12, n =12
i =0, y -=1}//获取 某年某月的天数let days =getMonthDay(y,n)//获取某年某月第一天的时间戳,最后一天的时间戳
console.log(y+'年'+n+'月共'+days+'天。')let firstDayTime =newDate(y,n-1,1).getTime()let lastDayTime = firstDayTime +24*60*60*1000*days -1
console.log(y+'年'+n+'月第一天时间戳:'+firstDayTime)
console.log(y+'年'+n+'月最后一天时间戳:'+lastDayTime)if( n == earlistMonth && y == earlistYear)break;
i++}}test()}