You might want to make a calender object that has a method that would return a list of dates for a given year and the target day of the week needed.
The day offset would be a number from the first day of the year to the target day of the week.
Then you could make a list of Lunar calender days by accumulating in 14 day increments until the total is more than 366.
Then you could make a method that changed a lunar date to a Gregorian date.
And finally convert the Lunar list to make your output list.
Hope this helps.
