static void Main(string[] args)
        {
            var date = new DateTime(2015, 10, 5);
            var curQ = 0;

            for (Int32 i = 1; i <= 52; i++)
            {
                var newQ = date.GetQuarter();
                if(curQ != newQ)
                {
                    curQ = newQ;
                    Console.WriteLine($"I\\{date.Year}.{curQ:D2}|{date.GetQuarterStart().ToShortDateString()}|{date.GetQuarterEnd().ToShortDateString()}");
                }
                                
                Console.WriteLine($"I\\{date.Year}.{curQ:D2}\\{date.Year}.{curQ:D2}-{date.GetWeekNum():D2}|{date.ToShortDateString()}|{date.AddDays(6).ToShortDateString()}");
                date = date.AddDays(7);
            }
        }
 /// <summary>
 /// Extension method used to compare two dates and their respective quarters.
 /// </summary>
 /// <param name="initialDate">The DateTime variable that will utilize the 
 /// extension method.</param>
 /// <param name="dateToCompare">The DateTime value to compare against.</param>
 /// <returns>True if both dates are within the same quarter; false if they are not.</returns>
 public static bool CompareQuarter(this DateTime initialDate, DateTime dateToCompare)
 {
     return initialDate.GetQuarter() == dateToCompare.GetQuarter();
 }