ASP.NET做日历
一周一周来算,注,如果本月1号是星期日,则这一月共有六周,即六行,所以干脆每月都输出6周就行了,然后再算第一周里的本月一号是周几,第一周里本月又占了几天。。。呃。。。反正很乱,想了一上午,现在写出来了倒不知道如何解释了。。算了。。直接上代码。。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | //日历界面 public IActionResult RiLi() { List<Model.VM_OneDay>[] ss = new List<Model.VM_OneDay>[6]; DateTime nowmonth01 = DateTime.Parse( DateTime.Now.ToString( "yyyy-MM-01" )); //本月一号 int week01 =( int )nowmonth01.DayOfWeek; //本月一号是周几? int zhanjitian = 7 - week01; //本月在第一周占了几天,如3月1日是周三,则第一周则占了5天,用于算第2,3,4周 for ( int i = 0; i < 6; i++) { List<Model.VM_OneDay> aa = new List<Model.VM_OneDay>(); if (i == 0) { //第一周 for ( int j = 0; j < 7; j++) { if (j>=( int )week01) { int x = j - week01; DateTime date = nowmonth01.AddDays(x); if (x==0) { aa.Add( new Model.VM_OneDay() {Date=date, DateStr = date.ToString( "M月d日" ) }); //1号 } else { aa.Add( new Model.VM_OneDay() {Date = date, DateStr = date.Day.ToString() }); } } else { DateTime date = nowmonth01.AddDays(-(week01-j)); aa.Add( new Model.VM_OneDay() {Date = date, DateStr = date.Day.ToString() }); } } } else { for ( int j = 0; j < 7; j++) { int x = (i - 1) * 7 + zhanjitian + j; DateTime date = nowmonth01.AddDays(x); if (date.Day == 1) { aa.Add( new Model.VM_OneDay() {Date = date, DateStr = date.ToString( "M月d日" ) }); } else { aa.Add( new Model.VM_OneDay() {Date = date, DateStr = date.Day.ToString() }); } } } ss[i] = aa; } ViewBag.data = ss; return View(); } |
最后出来的界面:
日历静态页:http://www.niunan.net/rili.html
撸码:复制、粘贴,拿起键盘就是“干”!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具