日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

生日计算年龄

發布時間:2023/12/14 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 生日计算年龄 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引子

對于一個,極端追求完美的程序員,寫代碼,有時候是很痛苦的。這種痛苦不是怎么實現一個需求,而是痛苦于選擇,選擇用那種方法實現,才能做到完美。
——今天,天氣悶熱,要下大雨的樣子,股票行情持續走低,大盤接近2700點。

問題描述

最近做項目有一個需求,需要通過出生日期計算年齡。當聽到這個需求,我最直觀的想法就是,出生年份與系統年份做差再加一,得到的年齡(自認為簡單粗暴,計算準確【按虛歲】)??墒钱敽推渌掠懻摰臅r候,說一般情況按照周歲計算,比較合適。正當和同事討論的時候,忽然另一同事問到,虛歲和周歲的概念是怎么定義的?我之前也只是模糊的知道,真被同事問起來,我也是懵逼的(生活中處處是學問)。
虛歲是中國傳統的計齡方式,也流行于亞洲東部其它國家,用于計算人出生后正在經歷的年份次序(序數),以剛出生時為一歲,因為這是人出生后的第一年,與已經歷過的懷孕近一年無關。按照農歷【摘自百科】

周歲,是國際通用的年齡計算方式。它計算的是出生后已經度過的時間長度(為基數,故也可以計算尾數,如三歲零兩個月,七歲半等)。按照公歷【摘自百科】。
經過以上對虛歲和周歲概念的理解我們可以得到下表(簡化按照公歷計算):

出生日期 \ 系統當前時間虛歲周歲
2017-07-07 \2018-02-0220歲6個月26天
2017-07-07 \2018-08-0721歲1個月
2017-07-07 \2019-07-0231歲11個月26天

由于我們項目中的需求,對年齡為整數顯示,沒有月數和日數,最后討論,用周歲顯示,但只顯示幾周歲,月數和日數舍去,零周歲顯示一歲。
實現代碼如下:

int GetAge(STPerItem *st, CDeviceInfo *m_Device) {int nAge = m_Device->nSysYear - st->nYear;if (nAge <= 0) {nAge = 1;} else {if (m_Device->nMonth < st->nMonth) {nAge -= 1;} else if (m_Device->nMonth == st->nMonth) {if (m_Device->nDay < st->nDay) {nAge -= 1;}}}return nAge; }

總結:

解決問題之前,一定要搞懂所有相關概念(切記概念模糊),只有做到胸中有數,才能完美解決問題。

總結

以上是生活随笔為你收集整理的生日计算年龄的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。