.net 根据html的input type=“week“控件的值获取星期一和星期日的日期

初始化 "week" 控件值:

cs 复制代码
//MVC部分
public ActionResult WeeklyList()
{
    int weekNo = new GregorianCalendar().GetWeekOfYear(System.DateTime.Now, System.Globalization.CalendarWeekRule.FirstDay, DayOfWeek.Sunday);
    string DefaultWeek = DateTime.Now.Year + "-W" + weekNo;//2024-W42
    ViewBag.DefaultWeek = DefaultWeek;//传值到html

    return View();
}

//html部分
<input type="week" id="txt_week" class="my-css" value="@ViewBag.DefaultWeek" />

获取 "week" 控件所选中的星期一和星期日的值

cs 复制代码
        $(function () {
            $("#btnSearch").click(function () {
                var weekPicker = document.getElementById('txt_week');//type=week控件对象
                var dateString = weekPicker.value;//控件值格式为: 'YYYY-WW',如:2024-W42
                var year = parseInt(dateString.substr(0, 4), 10);//截取字符串"年"的部分:2024
                var week = parseInt(dateString.substr(6, 2), 10);//截取字符串"第几周"的部分:42

                //计算日期
                var jsDate = new Date(year, 0, (week - 1) * 7);//生成日期
                var dayOfWeek = jsDate.getDay();
                var dayOffset = dayOfWeek === 1 ? 0 : 1 - dayOfWeek;
                
                var monday = new Date(jsDate.setDate(jsDate.getDate() + dayOffset + 1));//星期一日期
                var sunday = new Date(jsDate.setDate(monday.getDate() + 6));//星期日日期(星期一+6天)

                console.log('星期一: ' + monday.toISOString().substr(0, 10));
                console.log('星期日: ' + sunday.toISOString().substr(0, 10));

            });
        });

实际效果:

说明:

①我选中了week控件的:第42周(即2024年的第42个周,值为:2024-W42,格式为:yyyy-WW)

②截取字符串,获得年:2024,和年度第几周:42,开始计算日期,见js部分

③计算获得:第42周的,星期一是"2024-10-14",星期日是"2024-10-20"

④传递着两个日期值到MVC后台,对数据库进行日期范围的SQL查询


验证:

相关推荐
子兮曰5 分钟前
Node.js v26.1.0 深度解读:FFI、后量子密码与调试器的进化
前端·后端·node.js
测试员周周20 分钟前
【Appium 系列】第06节-页面对象实现 — LoginPage 实战
开发语言·前端·人工智能·python·功能测试·appium·测试用例
西洼工作室1 小时前
前端直传OSS服务端签名(Policy+Signature)/STS临时凭证
前端·文件上传·oss
你很易烊千玺2 小时前
日常练习-数组 字符串常用的场景
前端·javascript·字符串·数组
weixin199701080163 小时前
[特殊字符] RESTful API 接口规范详解:构建高效、可扩展的 Web 服务(附 Python 源码)
前端·python·restful
存在的五月雨3 小时前
Vue3项目一些语法
前端·javascript·react.js
nashane3 小时前
HarmonyOS 6学习:Web组件同层渲染事件处理与智能长截图实现
前端·学习·harmonyos·harmonyos 5
大家的林语冰3 小时前
Node 2026 发布,JS 三大新功能上线,最后一个奇偶版本
前端·javascript·node.js
nashane4 小时前
HarmonyOS 6学习:Web组件同层渲染触摸事件与长截图拼接实战
前端·学习·harmonyos·harmonyos 5