Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get week number for different startdate

I can get week number if I use normal way like that. As you know this one calculates week number according to normal start date which is 01.01.2015.

CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(mydate, CultureInfo.CurrentCulture.DateTimeFormat.CalendarWeekRule, CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek)

But I want to change that start date. For instance my first week of year will be 01.07.2015 and according to that date I want to calculate week of year for given date.

like image 747
Kadir Avatar asked Mar 01 '26 22:03

Kadir


1 Answers

Substract a difference between new year and your start date from the mydate object

var startDate = new DateTime(2015, 7, 1);
var newYear = new DateTime(2015, 1, 1);

var culture = CultureInfo.CurrentCulture;
var weekOfYear = culture.Calendar.GetWeekOfYear(
    mydate.Add(newYear - startDate),
    culture.DateTimeFormat.CalendarWeekRule,
    culture.DateTimeFormat.FirstDayOfWeek);
like image 199
hazzik Avatar answered Mar 03 '26 11:03

hazzik