时间:2021-05-20
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:
以上所述就是本文的全部内容了,希望能对大家学习C#有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了C#生成条形码图片的简单方法。分享给大家供大家参考。具体实现方法如下:实现原理:其实Windows本身就有一个字体是用来显示条形码的。只要将数字改
本文实例汇总了C#文件加密方法。分享给大家供大家参考。具体实现方法如下:1、AES加密类复制代码代码如下:usingSystem;usingSystem.IO;
本文实例汇总了C#窗体传值的方法。分享给大家供大家参考。具体方法如下:1.静态变量传值,非常简单适合简单的非实例的复制代码代码如下:publiccalssfor
本文实例讲述了C#精确计算年龄的方法。分享给大家供大家参考。具体如下:该源码在vs2010测试通过复制代码代码如下:usingSystem;usingSyste
本文实例讲述了C#滚动字幕的实现方法,分享给大家供大家参考。具体方法如下:在c#中其实滚动屏幕的实现其实很简单,只需要用到Graphics.DrawString