本文实例讲述了C#精确计算年龄的方法。分享给大家供大家参考。具体如下:
该源码在vs2010测试通过
代码如下:
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;
}
}
}
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;
}
}
}
希望本文所述对大家的C#程序设计有所帮助。
除声明外,跑步客文章均为原创,转载请以链接形式标明本文地址
C#精确计算年龄的方法分析
本文地址: http://www.paobuke.com/develop/c-develop/pbk23104.html
C#精确计算年龄的方法分析
本文地址: http://www.paobuke.com/develop/c-develop/pbk23104.html