I need a function that will return a string with the weeknumber and the calculated year for any date on monday (first day of the week).
Normally it would by easy:
IntToStr(WeekOf(myDate)) + ' ' + IntToStr(YearOf(MyDate))
But, when week of given date is arount 1 january than it should determine year based on following criteria.
If 1 January is on a Monday, Tuesday, Wednesday or Thursday, it is in week 01. If 1 January is on a Friday, Saturday or Sunday, it is in week 52 or 53 of the previous year.
Week 1 of 2014 starts on 30-12-2013 till 6-1-2014
Running the code above would result in Week 1 Year 2013
, where it should be Week 1 Year 2014