亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#實現(xiàn)計算年齡的簡單方法匯總

 更新時間:2015年05月18日 08:58:23   投稿:hebedich  
本文給大家分享的是C#代碼實現(xiàn)的簡單實用的給出用戶的出生日期,計算出用戶的年齡的代碼,另外附上其他網(wǎng)友的方法,算是對計算年齡的一次小結(jié),希望大家能夠喜歡。

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("開始時間應小于或等與結(jié)束時間!");
 
      /*計算出生日期到當前日期總月數(shù)*/
      int Months = endDateTime.Month - beginDateTime.Month + 12 * (endDateTime.Year - beginDateTime.Year);
      /*出生日期加總月數(shù)后,如果大于當前日期則減一個月*/
      int totalMonth = (beginDateTime.AddMonths(Months) > endDateTime) ? Months - 1 : Months;
      /*計算整年*/
      int fullYear = totalMonth / 12;
      /*計算整月*/
      int fullMonth = totalMonth % 12;
      /*計算天數(shù)*/
      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;
}

下面我們來看看常規(guī)方法:

方法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個數(shù)字,就得到年齡了:)
      我相信這樣的方法可以用任何語言實現(xiàn):

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

以上所述就是本文的全部內(nèi)容了,希望能對大家學習C#有所幫助。

相關(guān)文章

  • C#中的集合用法分析

    C#中的集合用法分析

    這篇文章主要介紹了C#中的集合用法,實例形式分析了集合元素的定義、賦值、插入、移除等操作,需要的朋友可以參考下
    2014-10-10
  • C#畢業(yè)設(shè)計之Winform零壓健身房管理系統(tǒng)

    C#畢業(yè)設(shè)計之Winform零壓健身房管理系統(tǒng)

    本文介紹了個人的《零壓健身房管理系統(tǒng)(扁平化)》的基本流程和功能點的介紹,虛心接受各位的意見,歡迎在提出寶貴的意見,大家一起探討學習
    2021-09-09
  • C#實現(xiàn)獲取文件大小并進行比較

    C#實現(xiàn)獲取文件大小并進行比較

    這篇文章主要為大家詳細介紹了C#如何實現(xiàn)獲取文件大小進行單位轉(zhuǎn)換與文件大小比較功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2023-03-03
  • C#可變參數(shù)params示例詳解

    C#可變參數(shù)params示例詳解

    params是c#的一個關(guān)鍵字,用用漢語來說的話叫可變參數(shù),這里的可變,不是說的類型可變,而是指的個數(shù)可變,這是c#的一個基礎(chǔ)關(guān)鍵字,相信大家都有一定的了解,本篇文章就來大致的說一下C#可變參數(shù)params
    2022-02-02
  • Unity Shader實現(xiàn)水墨效果

    Unity Shader實現(xiàn)水墨效果

    這篇文章主要為大家詳細介紹了Unity Shader實現(xiàn)水墨效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C#使用回溯法解決背包問題實例分析

    C#使用回溯法解決背包問題實例分析

    這篇文章主要介紹了C#使用回溯法解決背包問題,實例分析了背包問題的描述及C#解決方法,需要的朋友可以參考下
    2015-04-04
  • c#異步操作后臺運行(backgroundworker類)示例

    c#異步操作后臺運行(backgroundworker類)示例

    這篇文章主要介紹了c#異步操作后臺運行(backgroundworker類)示例,需要的朋友可以參考下
    2014-04-04
  • C# 禁用鼠標中間鍵的方法

    C# 禁用鼠標中間鍵的方法

    關(guān)于?。? System.Windows.Forms.NumericUpDown 控件,如何禁用鼠標中間鍵?
    2013-03-03
  • C#學習筆記之飛行棋項目

    C#學習筆記之飛行棋項目

    這篇文章主要為大家詳細介紹了C#控制臺實現(xiàn)飛行棋項目,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • c#中task與thread的區(qū)別及使用講解

    c#中task與thread的區(qū)別及使用講解

    這篇文章主要介紹了c#中task與thread的區(qū)別及使用講解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06

最新評論