c# - 试图根据生日和当前日期确定当前年龄
问题描述
我正在设计一个练习可视化 c# 程序,让您从 dateTimePicker 中选择您的出生日期,并将其与当前日期进行比较,以在文本框中显示您当前的年龄。
我想考虑您选择月份中的哪一天来完善年龄结果,而不是仅仅假设您是某个年龄,因为您出生在那个特定月份。
这是我到目前为止所拥有的:
public void button1_Click(object sender, EventArgs e)
{
var birthdayYear = dateTimePicker1.Value.Year;
var birthdayMonth = dateTimePicker1.Value.Month;
var birthdayDay = dateTimePicker1.Value.Day;
var currentYear = DateTime.Now.Year;
var currentMonth = DateTime.Now.Month;
var currentDay = DateTime.Now.Day;
int currentAge = DateTime.Now.Year - dateTimePicker1.Value.Year;
if (birthdayMonth >= currentMonth)
{
currentAge--;
}
string currentResult = Convert.ToString(currentAge);
ageResult.Text = currentResult;
}
解决方案
不要尝试自己实现日期数学。众所周知,日期数学很难正确处理,并且有相当一部分棘手的边缘情况。
推荐阅读
- python - 如何使用 venv 插件安装 pyenv 下载?
- sql - SQL 连接表 - 仅显示具有匹配参数的行
- python - Python 中的异常处理以实现持续执行
- 3d - 为 .dae 3d 模型添加纹理
- javascript - 调试通过 ngrok 运行的 JavaScript 代码
- swift - Swift Firebase Twitter 登录:无法获取凭据
- c++ - 什么是 .c.obj / .cpp.obj 文件?
- c# - GAC 之外的参考资料
- android - AndroidManifest.xml 不允许匹配“[xX][mM][lL]”的处理指令目标
- python - 如何在 python(pandas) 中获得文件编辑权限