手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#实现计算年龄的简单方法汇总
C#实现计算年龄的简单方法汇总
摘要:vs2010测试通过,主要思想是由出生日期和当前日期,两个日期计算出年龄(岁、月、天)usingSystem;usingSystem.Col...

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; } } }

再简单一些:

public int CalculateAgeCorrect(DateTime birthDate, DateTime now) { int age = now.Year - birthDate.Year; if (now.Month < birthDate.Month || (now.Month == birthDate.Month && now.Day < birthDate.Day)) age--; return age; }

下面我们来看看常规方法:

方法1:

string m_Str = "1984-04-04"; int m_Y1 = DateTime.Parse(m_Str).Year; int m_Y2 = DateTime.Now.Year; int m_Age = m_Y2 - m_Y1; Response.Write(m_Age);

方法2:

如果你将日期格式化为yyyymmdd,并且从当前日子减去生日,最后去除4个数字,就得到年龄了:)

我相信这样的方法可以用任何语言实现:

20080814-19800703=280111

去除最后4位 = 28.

int now =int.Parse(DateTime.Today.ToString("yyyyMMdd")); int dob =int.Parse(dateDOB.ToString("yyyyMMdd")); string dif =(now - dob).ToString(); string age ="0"; if(dif.Length>4) age = dif.Substring(0, dif.Length-4);

方法3:

DateTime now =DateTime.Today; int age = now.Year- bday.Year; if(bday > now.AddYears(-age)) age--;

以上所述就是本文的全部内容了,希望能对大家学习C#有所帮助。

【C#实现计算年龄的简单方法汇总】相关文章:

用C#对ADO.NET数据库完成简单操作的方法

.net C# 实现任意List的笛卡尔乘积算法代码

C# 语音功能的实现方法

C# 获取属性名的方法

C#常用的数据格式转换汇总

C#实现大数字运算的实例代码

C#中控制远程计算机的服务的方法

C#实现图片分割方法与代码

C#中时间的几种格式转换方法

C#实现窗体淡入淡出效果的方法总结

精品推荐
分类导航