C#一年中有多少周方法和js一年中第几周

最近在做一个时间插件,用的是jquery-daterangepicker ,现在分享一下查询时间是一年中的第几周的js方法  和 一年中有多少周的C#后台方法,默认是按照周一为一周的开始,如果一年的第一天不是周一,那么相应的天数应该算到上一年中,方法是在网上粘的,不知道最初是谁分享的了

后台方法

 1  /// <summary>
 2         /// 求某年有多少周
 3         /// 返回 int
 4         /// </summary>
 5         /// <param name="strYear"></param>
 6         /// <returns>int</returns>
 7         public static int GetYearWeekCount(int strYear)
 8         {
 9             //string returnStr = "";
10             System.DateTime fDt = DateTime.Parse(strYear.ToString() + "-01-01");
11             int k = Convert.ToInt32(fDt.DayOfWeek);//得到该年的第一天是周几
12             if (k == 1)
13             {
14                 int countDay = fDt.AddYears(1).AddDays(-1).DayOfYear;
15                 int countWeek = countDay / 7 + 1;
16                 return countWeek;
17             }
18             else
19             {
20                 int countDay = fDt.AddYears(1).AddDays(-1).DayOfYear;
21                 int countWeek = countDay / 7;
22                 return countWeek;
23             }
24         }
一年中有多少周

js方法 

 1  //获取日期是当年的第几周
 2     function getWeekOfYear(date) {
 3         //s声明一个日期未传入的日期
 4         var today = new Date(date);
 5         //获取当年的第一天
 6         var firstDay = new Date(today.getFullYear(), 0, 1);
 7         //console.log("一年的第一天是");
 8         //console.log(firstDay.Format("yyyy-MM-dd"));
 9         //获取第一天是一星期的哪一天,周一是1,周日是0.
10         var dayOfWeek = firstDay.getDay();
11         //console.log("是");
12         //console.log(dayOfWeek);
13         //声明一个数字1
14         var spendDay = 1;
15         if (dayOfWeek == 0) {   //一年的第一天为周日
16             // spendDay = 0;
17             firstDay = new Date(today.getFullYear(), 0, 2);
18             //console.log("一年的第一天是周日");
19             //console.log("设置2号为一周开始");
20             //console.log(firstDay);
21         }
22         else if (dayOfWeek == 1) {
23             //console.log("一年的第一天是周一");
24             //console.log("设置1号为一周开始");
25             firstDay = new Date(today.getFullYear(), 0, 1);
26             // console.log(firstDay)
27         }
28         else {
29             //console.log("其他情况");
30             spendDay = 7 - dayOfWeek;
31             firstDay = new Date(today.getFullYear(), 0, 2 + spendDay);
32             // console.log(firstDay);
33         }
34         var d = Math.ceil((today.valueOf() - firstDay.valueOf()) / 86400000);
35         var result = Math.ceil(d / 7);
36         var week = (result + 1).toString(); //
37         var year = today.getFullYear();
38         var weekfinal = week.length < 2 ? '0' + week : week;
39         return year + "第" + weekfinal + "周";
40     };
选择的日期是一年中的第几周

最后写一个js格式化时间的方法,也是烂大街了

 1 Date.prototype.Format = function (fmt) { //author: meizz   
 2         var o = {
 3             "M+": this.getMonth() + 1, //月份   
 4             "d+": this.getDate(), //
 5             "h+": this.getHours(), //小时   
 6             "m+": this.getMinutes(), //
 7             "s+": this.getSeconds(), //
 8             "q+": Math.floor((this.getMonth() + 3) / 3), //季度   
 9             "S": this.getMilliseconds() //毫秒   
10         };
11         if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
12         for (var k in o)
13             if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
14         return fmt;
15     }
js时间格式化

 

转载于:https://www.cnblogs.com/Spinoza/p/8677115.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值