矫正胎龄计算器

胎龄:
出生日期: (按“月/日/年”格式录入,如12/29/2012)
就诊/手术日期: (按“月/日/年”格式录入,如12/29/2012)


算法说明

            
            矫正胎龄 = (就诊日期- 出生日期)+出生胎龄;

            1. 如果(矫正胎龄 < 50周)
            显示 xxx 周 xxx 天

            2. 如果(50周 <= 矫正胎龄 < 1年)
            显示 xxx 个月 xxx 天

            3. 如果(矫正胎龄 >= 1年)
            显示 xxx 岁 xxx 个月 xxx 天
    

核心代码

            
            int days = (就诊日期- 出生日期)+出生胎龄;

            int week = (int)(days / 7),
                day = days % 7,
                year = (int)(days / 365.25);
            int month = (int)((days / 365.25 - year) * 12);
            int month_day = (int)(days - year * 365.25 - month * 365.25 / 12);

            var cga = string.Empty;
            if (days < 50*7)
            {
                cga = week + Resource.Week + ((day == 0) ? string.Empty : day + Resource.Day); 
            }
            else if (days < 366)
            {
                cga = month + "个" + Resource.Month + (month_day == 0 ? string.Empty : (month_day + Resource.Day));
            }
            else
            {
                cga = year + Resource.AgeYear + ((month == 0) ? string.Empty : month + "个" + Resource.Month) + (month_day == 0 ? string.Empty : (month_day + Resource.Day));;
            }
            return cga;