您的位置:首页 > 编程语言 > C#

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

2018-01-12 08:22 309 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: