我想以他现在的年龄来计算出生年份,

sar*_*mar 0 c# winforms

我想通过计算当前年龄来计算出生年份,例如他的年龄是30岁,在datetimepicker框中,日期应该显示为01/01/1982.它应该是自动计算.

         int todayyears = int.Parse (DateTime.Now.Year.ToString());

        int a = int.Parse (int.Parse(txt_age.Text).ToString());

        string dif = (todayyears - a).ToString();

        txt_dob.Text = dif;
Run Code Online (Sandbox Code Playgroud)

txt_age是给定的输入值,txt_dob在给出输入后自动显示出生日期txt_age.

Jon*_*eet 6

它看起来像你转换方式太多的东西需要的字符串,没有任何理由.

如果您想要显示1月1日,您只需要:

// Note: use int.TryParse to avoid exceptions if the user input isn't an integer
int age = int.Parse(txt_age.Text);

DateTime date = new DateTime(DateTime.Today.Year - age, 1, 1);

txt_dob.Text = date.ToString(); // Or use a specific format
Run Code Online (Sandbox Code Playgroud)

请注意,"txt_dob"中的"dob"是不合适的,因为这不是用户的出生日期,只是出生年份的 1月1 日,这是非常不同的.