C# 如何在C中获取一周中的一天的日期#
我试着根据一周中某一天的顺序来获取它的日期,比如C# 如何在C中获取一周中的一天的日期#,c#,C#,我试着根据一周中某一天的顺序来获取它的日期,比如 GetDate(22, 4); 需要返回当年第22周第4天的日期。我该怎么做 void Main() { int months; var year = DateTime.Now.ToString("yyyy"); months = GetWeeksInYear( Convert.ToInt32(year)); Console.WriteLine(months); } public int GetWeeksIn
GetDate(22, 4);
需要返回当年第22周第4天的日期。我该怎么做
void Main()
{
int months;
var year = DateTime.Now.ToString("yyyy");
months = GetWeeksInYear( Convert.ToInt32(year));
Console.WriteLine(months);
}
public int GetWeeksInYear(int year)
{
DateTimeFormatInfo dfi = DateTimeFormatInfo.CurrentInfo;
DateTime date1 = new DateTime(year, 12, 31);
Calendar cal = dfi.Calendar;
return cal.GetWeekOfYear(date1, dfi.CalendarWeekRule, dfi.FirstDayOfWeek);
}
public int GetDate(int weekNo, int dayNo)
{
return // Date
}
您只需添加从年初开始的天数:
var dt = new DateTime(year, 1, 1);
dt = dt.AddDays(weekNo * 7 + dayNo);
var date = dt.Date;
您只需添加从年初开始的天数:
var dt = new DateTime(year, 1, 1);
dt = dt.AddDays(weekNo * 7 + dayNo);
var date = dt.Date;
我想一个简单的方法是把每年的1月1日加上天数
DateTime day = new DateTime(year, 1, 1).AddDays((week * 7) + days);
我想一个简单的方法是把每年的1月1日加上天数
DateTime day = new DateTime(year, 1, 1).AddDays((week * 7) + days);
PixRead一年中的一周是日历计算和区域相关值,所以在给出周数时必须考虑… 所以你肯定错过了使用类似
CultureInfo.CurrentCulture.Calendar;
PixRead一年中的一周是日历计算和区域相关值,所以在给出周数时必须考虑… 所以你肯定错过了使用类似
CultureInfo.CurrentCulture.Calendar;
您可能希望使用
public DateTime GetDate
,而不是int
作为返回类型。由于闰年的原因,您至少需要年份。我可能会找到GetDate(1,1)
应该返回的值,然后添加21*7+3
天。您是将“周”视为一整周(周日到周六或文化差异)还是一组7天?i、 e.应GetDate(1,1)
返回一年中的第一个星期日(或其他日期),还是应该始终返回1月1日?您可能希望使用public DateTime GetDate
,而不是int
作为返回类型。由于闰年的原因,您至少需要年份。我可能会找到GetDate(1,1)
应该返回的值,然后添加21*7+3
天。您是将“周”视为一整周(周日到周六或文化差异)还是一组7天?i、 e.应GetDate(1,1)代码>返回一年中的第一个星期日(或其他),还是应该始终返回1月1日?