JS 遍历本月所有日期

代码如下:

javascript 复制代码
function getMonthAllDays() {
    // 获取当前日期
    var currentDate = new Date();       
    // 获取当前月份的第一天
    var firstDayOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth(), 1);          
    // 获取当前月份的最后一天
    var lastDayOfMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() + 1, 0);          
    // 遍历当月的所有日期
    let result = "";
    for (var date = firstDayOfMonth; date <= lastDayOfMonth; date.setDate(date.getDate() + 1)) {
      result = result + '<p>' + getJsMonthDay(date) + " " + getWeekday(date) +  '</p>'
      console.log(date.getDate());
    }
    return result;
}

执行效果

相关代码

javascript 复制代码
function dateFtt(fmt,date) {

    var o = {
        "M+" : date.getMonth()+1,                 //月份
        "d+" : date.getDate(),                    //日
        "h+" : date.getHours(),                   //小时
        "m+" : date.getMinutes(),                 //分
        "s+" : date.getSeconds(),                 //秒
        "q+" : Math.floor((date.getMonth()+3)/3), //季度
        "S"  : date.getMilliseconds()             //毫秒
    };
    if(/(y+)/.test(fmt))
        fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));
    for(var k in o)
        if(new RegExp("("+ k +")").test(fmt))
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
    return fmt;
}



function getJsMonthDay(dateStr) {

    if ((dateStr == null) ||(dateStr == ""))
    {
        return "";
    } else {
        var date = new Date(dateStr);
        return dateFtt("MM-dd",date);
    }
}


 function getWeekday(date) {
    const weekdays = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'];
    const weekday = new Date(date).getDay();
    return weekdays[weekday];
}
相关推荐
Sarvartha11 分钟前
对象创建与引用
java·开发语言
excel18 分钟前
Nuxt 中 useSeoMeta 与 useHead 的区别
前端
竹林81824 分钟前
OmniGame 技术白皮书:从零依赖到 WebRTC P2P,重新定义网页小游戏的工程上限
前端·浏览器
ss27324 分钟前
AI全栈实战 | 2.1-02 CSS 布局:垂直居中为什么是经典面试题?所有布局在解决什么矛盾
前端·css
律宏阔25 分钟前
Flutter Riverpod 3:统一打印 Provider 错误与自动重试日志
前端·flutter
周洲083031 分钟前
STM32片内Flash读写深度详解|掉电参数保存、底层原理
linux·前端·stm32
hasty35 分钟前
限制写了却没生效:OpenTelemetry Go 的 Unicode 截断边界
开发语言·后端·golang
data analyse 4561 小时前
埋点工具的私有化部署成本高吗?
前端·数据分析·github
data analyse 4561 小时前
埋点工具的埋点查询语言难学吗?
前端·数据分析
DianSan_ERP2 小时前
多平台订单自动下载与回传的技术实现:从消息推送到状态闭环引言
java·linux·服务器·前端·网络·架构·自动化