C#精确计算年龄的另类方法

using System;
using System.Collections.Generic;
using System.Text;
 
namespace PublicClass
{
    public static class CalculationDate
    {
        /// <summary>
        /// 由两个日期计算出年龄(岁、月、天)
        /// </summary>
        public static void calculationDate(DateTime beginDateTime, DateTime endDateTime)
        {
            if (beginDateTime > endDateTime)
                throw new Exception("开始时间应小于或等与结束时间!");
 
            /*计算出生日期到当前日期总月数*/
            int Months = endDateTime.Month - beginDateTime.Month + 12 * (endDateTime.Year - beginDateTime.Year);
            /*出生日期加总月数后,如果大于当前日期则减一个月*/
            int totalMonth = (beginDateTime.AddMonths(Months) > endDateTime) ? Months - 1 : Months;
            /*计算整年*/
            int fullYear = totalMonth / 12;
            /*计算整月*/
            int fullMonth = totalMonth % 12;
            /*计算天数*/
            DateTime changeDate = beginDateTime.AddMonths(totalMonth);
            double days = (endDateTime - changeDate).TotalDays;
        }
    }
}
 
//该代码片段来自于: http://www.sharejs.com/codes/csharp/9034
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值