             
             //9月22日 or 23日: 秋分の日(計算値によって算出)
             case (year, 9, day, _)
-                where year > 1947 && day == SpringAutumn.Autumn.calcDay(year: year):
+                where PublicHolidaysLawYear <= year && day == SpringAutumn.Autumn.calcDay(year: year):
                 
                 return true
             
             //秋分の日の次が月曜日: 振替休日
             case (year, 9, day, .Mon)
-                where year > 1947 && day == SpringAutumn.Autumn.calcDay(year: year) + 1:
+                where PublicHolidaysLawYear <= year && day == SpringAutumn.Autumn.calcDay(year: year) + 1:
                 
                 return true
             

            
            //3月20日 or 21日: 春分の日(計算値によって算出)
            case (year, 3, day, _)
                where year > 1948 && day == SpringAutumn.Spring.calcDay(year: year):
                
                return true

            //春分の日の次が月曜日: 振替休日
            case (year, 3, day, .Mon)
                where year > 1948 && day == SpringAutumn.Spring.calcDay(year: year) + 1:
                
                return true
            
            //4月29日: 1949年から1989年までは天皇誕生日、1990年から2006年まではみどりの日、2007年以降は昭和の日
            case (year, 4, 29, _) where year > 1948:
                return true
            
            //4月30日: 振替休日
            case (year, 4, 30, .Mon) where year > 1948:
                return true
            
            //5月3日: 1949年から憲法記念日
            case (year, 5, 3, _) where year > 1948:
                return true

            //5月4日: (1)1988年以前は振替休日、(2).1988年から2006年まで国民の休日、2007年以降はみどりの日

        
        guard let weekday = Weekday(rawValue: weekdayIndex) else { fatalError("weekdayIndex is invalid.") }
        
        /// 国民の祝日に関する法律（こくみんのしゅくじつにかんするほうりつ）は、
        /// 1948年（昭和23年）7月20日に公布・即日施行された日本の法律である。通称祝日法。
        /// See also: https://ja.wikipedia.org/wiki/国民の祝日に関する法律
        let PublicHolidaysLawYear = 1948
        
        switch (year, month, day, weekday) {
            
            //1月1日: 元旦
