写了应该写的代码
从用户那里获取时间和日期输入
并将其转换为日期时间格式
为hrs添加一些值并显示它.
当用户以默认格式输入时,我的代码工作正常但是当用户输入dd-mm-yyyy而不是mm/dd/yyyy(默认)之类的日期时,它不起作用.
如何更改转换功能以解决此问题?
DateTime dt_calc = new DateTime();
dt_calc = Convert.ToDateTime(inputt);
Run Code Online (Sandbox Code Playgroud)
要以格式转换日期,请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)
不要使用Convert
- DateTime
has Parse
、TryParse
和方法,ParseExact
只需使用 parse 就可以:TryParseExact
IFormatProvider
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)