如何告诉convert.todatetime输入格式为dd-mm-yyyy

use*_*745 5 c# datetime

写了应该写的代码

  • 从用户那里获取时间和日期输入

  • 并将其转换为日期时间格式

  • 为hrs添加一些值并显示它.

当用户以默认格式输入时,我的代码工作正常但是当用户输入dd-mm-yyyy而不是mm/dd/yyyy(默认)之类的日期时,它不起作用.

如何更改转换功能以解决此问题?

    DateTime dt_calc = new DateTime();
    dt_calc = Convert.ToDateTime(inputt);
Run Code Online (Sandbox Code Playgroud)

Jas*_*inn 7

要以格式转换日期,请dd-mm-yyyy使用:

var dateValue = DateTime.Parse("11/03/1989", new CultureInfo("en-GB", false));
Run Code Online (Sandbox Code Playgroud)

但是不要忘记System.Globalization在标题中添加或只是内联:

var dateValue = DateTime.Parse("11/03/1989", new System.Globalization.CultureInfo("en-AU", false));
Run Code Online (Sandbox Code Playgroud)


Ode*_*ded 2

不要使用Convert- DateTimehas ParseTryParse和方法,ParseExact只需使用 parse 就可以:TryParseExactIFormatProvider

DateTime dt_calc = DateTime.Parse(inputt);
Run Code Online (Sandbox Code Playgroud)

如果您想安全一点,请使用 `TryParse:

DateTime dt_calc;
DateTime.TryParse(inputt, out dt_calc); // TryParse returns true if success, false if not
Run Code Online (Sandbox Code Playgroud)