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

后台方法

  /// <summary>
/// 求某年有多少周
/// 返回 int
/// </summary>
/// <param name="strYear"></param>
/// <returns>int</returns>
public static int GetYearWeekCount(int strYear)
{
//string returnStr = "";
System.DateTime fDt = DateTime.Parse(strYear.ToString() + "-01-01");
int k = Convert.ToInt32(fDt.DayOfWeek);//得到该年的第一天是周几
if (k == )
{
int countDay = fDt.AddYears().AddDays(-).DayOfYear;
int countWeek = countDay / + ;
return countWeek;
}
else
{
int countDay = fDt.AddYears().AddDays(-).DayOfYear;
int countWeek = countDay / ;
return countWeek;
}
}

一年中有多少周

js方法

  //获取日期是当年的第几周
function getWeekOfYear(date) {
//s声明一个日期未传入的日期
var today = new Date(date);
//获取当年的第一天
var firstDay = new Date(today.getFullYear(), 0, 1);
//console.log("一年的第一天是");
//console.log(firstDay.Format("yyyy-MM-dd"));
//获取第一天是一星期的哪一天,周一是1,周日是0.
var dayOfWeek = firstDay.getDay();
//console.log("是");
//console.log(dayOfWeek);
//声明一个数字1
var spendDay = 1;
if (dayOfWeek == 0) { //一年的第一天为周日
// spendDay = 0;
firstDay = new Date(today.getFullYear(), 0, 2);
//console.log("一年的第一天是周日");
//console.log("设置2号为一周开始");
//console.log(firstDay);
}
else if (dayOfWeek == 1) {
//console.log("一年的第一天是周一");
//console.log("设置1号为一周开始");
firstDay = new Date(today.getFullYear(), 0, 1);
// console.log(firstDay)
}
else {
//console.log("其他情况");
spendDay = 7 - dayOfWeek;
firstDay = new Date(today.getFullYear(), 0, 2 + spendDay);
// console.log(firstDay);
}
var d = Math.ceil((today.valueOf() - firstDay.valueOf()) / 86400000);
var result = Math.ceil(d / 7);
var week = (result + 1).toString(); //周
var year = today.getFullYear();
var weekfinal = week.length < 2 ? '0' + week : week;
return year + "第" + weekfinal + "周";
};

选择的日期是一年中的第几周

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

 Date.prototype.Format = function (fmt) { //author: meizz
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.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;
}

js时间格式化

最新文章

  1. 原来scanf读入字符串还能这样..
  2. win7下利用VM8安装CentOS6.3配置静态IP上网
  3. Android Studio: Failed to sync Gradle project &#39;xxx&#39; Error:Unable to start the daemon process: could not reserve enough space for object heap.
  4. [LeetCode] Range Sum Query 2D - Immutable
  5. JAVA发送邮件工具类
  6. MTU-TCP/IP协议栈-linux kernel-TCP丢包重传-UDP高性能-AI-
  7. 《我是IT小小鸟》读书笔记
  8. sql server 查询日期中的常用语句, 例如本周第一天, 年内的第几周,有用
  9. Javascript基础Function
  10. 设计模式(十二)职责链模式(Chain of Responsibility)(对象行为型)
  11. 控制winform中控件的输入格式
  12. ActionBar的简单使用
  13. node.js如何制作命令行工具(一)
  14. Android启动Activity
  15. 二、core abp 数据库迁移
  16. 对比PG数据库结构是否一致的方法
  17. 同步手绘板——android端取色
  18. shell脚本--函数
  19. 如何查看自己电脑系统的安装日期-Window上
  20. IKVM.NET入门(2)

热门文章

  1. SQLite数据库下载
  2. VxWorks笔记
  3. Object Relational Mapping(ORM)
  4. sqler sql 转rest api 2.0 试用
  5. leetcode第一刷_Insert Interval
  6. nginx+php windows安装配置
  7. webpack 相关插件及作用(表格)
  8. git push文件到远程github或者gitlab
  9. django配置setting文件
  10. java-线程(runoob.com)