今天项目中要获取本周、本月、本季、本年的第一天,发现网上的方法或多或少都有问题,于是自己写了一个,亲测可用。
获取指定日期的周的第一天、月的第一天、季的第一天、年的第一天 @param date new Date()形式,或是自定义参数的new Date() @returns 返回值为格式化的日期,yy-mm-dd
//日期格式化,返回值形式为yy-mm-dd
function timeFormat ( date) {
if ( ! date || typeof ( date) === "string" ) {
this . error ( "参数异常,请检查..." ) ;
}
var y = date. getFullYear ( ) ;
var m = date. getMonth ( ) + 1 ;
var d = date. getDate ( ) ;
return y + "-" + m + "-" + d;
}
获取这周的周一
function getFirstDayOfWeek ( date) {
var weekday = date. getDay ( ) || 7 ;
date. setDate ( date. getDate ( ) - weekday+ 1 ) ;
return timeFormat ( date) ;
}
//获取当月第一天
function getFirstDayOfMonth ( date) {
date. setDate ( 1 ) ;
return timeFormat ( date) ;
}
//获取当季第一天
function getFirstDayOfSeason ( date) {
var month = date. getMonth ( ) ;
if ( month < 3 ) {
date. setMonth ( 0 ) ;
} else if ( 2 < month && month < 6 ) {
date. setMonth ( 3 ) ;
} else if ( 5 < month && month < 9 ) {
date. setMonth ( 6 ) ;
} else if ( 8 < month && month < 11 ) {
date. setMonth ( 9 ) ;
}
date. setDate ( 1 ) ;
return timeFormat ( date) ;
}
//获取当年第一天
function getFirstDayOfYear ( date) {
date. setDate ( 1 ) ;
date. setMonth ( 0 ) ;
return timeFormat ( date) ;
}
找工作,没有面试题?来看这里, 扫码查看1000+ 前端面试题