c#获取当前日期是今年第几周 oracle 获取当前日期

/// <summary>

/// 取指定日期是一年中的第几周

/// </summary>

/// <param name="dt">给定的日期</param>

/// <returns>数字 一年中的第几周</returns>

private static int DatePart(DateTime dt)

{
c#获取当前日期是今年第几周 oracle 获取当前日期

int weeknow = Convert.ToInt32(dt.DayOfWeek);//今天星期几

int daydiff = (-1) * (weeknow + 1);//今日与上周末的天数差

int days = System.DateTime.Now.AddDays(daydiff).DayOfYear;//上周末是本年第几天

int weeks = days / 7;

if (days % 7 != 0)

{

weeks++;

}

//此时,weeks为上周是本年的第几周

return (weeks + 1);

}

找的上面这个函数可以获取,但是第一周的处理不好,显示的是53周而不是1周

=================分割线=====================

后又根据本人最近的思路,写下了如下的程序,解决了上面第一周处理不好的地方,注释连着看就是我求解的思路算法

private static int GetWeekOfYear()

{

//一.找到第一周的最后一天(先获取1月1日是星期几,从而得知第一周周末是几)

int firstWeekend=7-Convert.ToInt32(DateTime.Parse(DateTime.Today.Year + "-1-1").DayOfWeek);

//二.获取今天是一年当中的第几天

int currentDay = DateTime.Today.DayOfYear;

//三.(今天 减去 第一周周末)/7 等于 距第一周有多少周 再加上第一周的1 就是今天是今年的第几周了

// 刚好考虑了惟一的特殊情况就是,今天刚好在第一周内,那么距第一周就是0 再加上第一周的1 最后还是1

return Convert.ToInt32(Math.Ceiling((currentDay - firstWeekend) / 7.0)) + 1;

}

  

爱华网本文地址 » http://www.413yy.cn/a/25101014/190540.html

更多阅读

吐槽是什么意思——几种网络语言解释 膜是什么意思网络语言

吐槽是什么意思——几种网络语言解释——简介现在网络生活越来越显得重要了,一段时间不上网,别人在网上说的话你可能都听不懂了,这些语言在我们平时生活中很少用。但是随着网络的发展,这些语言也进入了我们的生活当中。下面就几个常用网

声明:《c#获取当前日期是今年第几周 oracle 获取当前日期》为网友墨羽离殇分享!如侵犯到您的合法权益请联系我们删除