今天项目中要获取本周、本月、本季、本年的第一天,发现网上的方法或多或少都有问题,于是自己写了一个,亲测可用。
- 获取指定日期的周的第一天、月的第一天、季的第一天、年的第一天
- @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+ 前端面试题

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!