獲取當前週數
判斷年份是否為潤年
獲取某年某月的天數
計算兩個日期差幾天
周獲取對應的日期
計算環比日期
/**
* 獲取當前週數
*/export
function
getweeknumber
(y, m, d)
//那一年第一天是星期幾
var yearfirstday =
newdate
(year,0,
1).getday()
;//計算是第幾周 - 1 從周一開始算
days += yearfirstday -1;
var week = math.
ceil
(days /7)
;return week;
}/**
*判斷年份是否為潤年
*/function
isleapyear
(year)
/** *獲取某年某月的天數
*/export
function
getmonthdays
(year, month)
/** * 計算兩個日期差幾天
* @param sdate1
* @param sdate2
* @returns
* @constructor
*/export
function
computation
(sdate1, sdate2)
/** * 周獲取對應的日期
* 給乙個年份和第幾周,計算出這週是從幾號到幾號
* 一年分為54周,第一周是1月1日到第乙個週日,第二週是今年的第乙個周一往後推一周,以此類推,第53周的時候如果沒到12月31日,則該年度有54周,反之有53周,到12月31日不管是不是週末,都截止到最後一周的結束日期
* @param long
* @returns }
*///例如 2012 年就跨了54周,也有很多是53周的
//let week2012 = whichweek(2012)
//呼叫完得到的是乙個陣列,取對應周即可
//時間戳轉年月日 引數是秒的時間戳 函式返回乙個物件 物件裡有年 月 日
function
yearday
(long)
return yearday
}//計算一年中的每一周都是從幾號到幾號
//第一周為1月1日到 本年的 第乙個週日
//第二週為 本年的 第乙個周一 往後推到週日
//以此類推 再往後推52周。。。
//如果最後一周在12月31日之前,則本年有垮了54周,反之53周
//12月31 日不論是週幾,都算為本週的最後一天
//引數年份 ,函式返回乙個陣列,陣列裡的物件包含 這一周的開始日期和結束日期
export
function
whichweek
(year)
let arr =
let longnum = d.
setdate
(d.getdate()
)if(longnum >
+new
date
(year,0,
1))let oneitem =
yearday
(longnum /
1000
) oneitem.last =
yearday
( longnum /
1000
+86400*6
) arr.
push
(oneitem)
var laststr
for(var i =
0; i<
51;i++)if
(laststr <
+new
date
(year +1,
0,1)
)else
return arr
}/**
*計算環比日期
*/export
function
chainratio
(time)
關於日期的常用演算法
關於日期的常用演算法有很多,但如果掌握了基本的演算法,難一點的可以分解為簡單的,各個擊破。1 判斷一年是否為閏年 判斷一年是否為閏年 static boolean isleapyear int year 2 獲得某一年的總天數 閏年366天,非閏年355 獲得某一年的總天數 static int g...
關於日期的常用演算法
關於日期的常用演算法有很多,但如果掌握了基本的演算法,難一點的可以分解為簡單的,各個擊破。1 判斷一年是否為閏年 判斷一年是否為閏年 static boolean isleapyear int year 2 獲得某一年的總天數 閏年366天,非閏年355 獲得某一年的總天數 static int g...
關於JS生成日期和校驗日期
以前寫網頁的時候,經常碰到選擇日期的問題,其實就是判斷某年某月有多少天。一般的做法是先判斷是幾月份,然後決定有多少天 一般用switch 如果是2月的話,還得判斷選擇的年份是不是閏年,再決定是28天還是29天。這樣是乙個很規矩的做法,而且也很符合邏輯。但是,如果是為了達到目的的話,是不用這麼麻煩的 ...