指定周转对应日期
发布日期:2021-08-12 02:36:17 浏览次数:12 分类:技术文章

本文共 1238 字,大约阅读时间需要 4 分钟。

SQL 根据某年某周获取对应日期

--创建一个标量值函数

--例:WeekToDay(2018,18) 

 

CREATE function [dbo].[WeekToDay](@Year int,@Week int) 

returns varchar(50)
as
begin

declare @Year1 datetime

declare @StratWeek datetime
declare @EndWeek datetime
set @Year1=convert(smalldatetime,convert(varchar(4),@Year) + '-1-1')
set @StratWeek=dateadd(day,1-datePart(weekday,@Year1),dateAdd(week,@Week-1,@Year1))
set @EndWeek=dateadd(day,6,@StratWeek)
RETURN convert(varchar(10),@StratWeek,111)

end

 

 

C#  根据某年某周获取对应日期

例:  GetFirstDayOfWeek(year, week, System.Globalization.CultureInfo.InvariantCulture); 

/// <summary>

/// 根据一年中的第几周获取该周的开始日期
/// </summary>
/// <param name="year"></param>
/// <param name="week"></param>
/// <param name="culture"></param>
/// <returns></returns>
public static DateTime GetFirstDayOfWeek(int year, int week, System.Globalization.CultureInfo culture)
{
System.Globalization.Calendar calendar = culture.Calendar;
DateTime firstOfYear = new DateTime(year, 1, 1, calendar);
DateTime targetDay = calendar.AddWeeks(firstOfYear, week - 1);
DayOfWeek firstDayOfWeek = culture.DateTimeFormat.FirstDayOfWeek;

while (targetDay.DayOfWeek != firstDayOfWeek)

{
targetDay = targetDay.AddDays(-1);
}

return targetDay;

}

转载于:https://www.cnblogs.com/limitpjz/p/10792037.html

转载地址:https://blog.csdn.net/weixin_30642561/article/details/97265028 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:POJ 1679 The Unique MST(次短生成树)
下一篇:2016-8-22晨型养成第七天

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年03月27日 09时27分01秒