.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查询


验证:

相关推荐
独特的螺狮粉18 小时前
金属硬度与熔点对照表APP - 通过鸿蒙PC Electron框架完整技术实现指南
前端·javascript·electron·前端框架·开源·鸿蒙
Java_2017_csdn18 小时前
在 Java 中,MessageFormat.format() 和 String.format() 函数对比?
java·开发语言·前端·数据库
IT策士18 小时前
第 44篇 k8s之实战:将 Web 应用迁移到 Kubernetes(上)
前端·容器·kubernetes
用户0595401744618 小时前
把Agent记忆测试从Mock换到真实Redis,漏测率从30%降到0
前端·css
Surprisec18 小时前
如何用 TypeScript 写一个最小可运行的 CLI Agent
前端·人工智能·typescript
marskim18 小时前
零依赖、高性能!从零实现 React 拖拽排序组件(基于 HTML5 Drag and Drop API)
前端
jingling55518 小时前
从零到一:用 Aholo Viewer 在浏览器里渲染 3D 高斯泼溅小熊
linux·前端·ubuntu·3d
Good kid.18 小时前
开源一套 Vue3 多模态 AI 控制台前端:游乐场、工作室与 API 文档页
前端·人工智能·开源
小林ixn18 小时前
前后端模块化分离实战:从零搭建用户列表展示(HTML+CSS+JS + json-server)
前端·javascript
天才熊猫君18 小时前
我把一个 bug 发给 ai,ai 直接通过 playwright mcp 直接排查出 bug。。
前端·javascript