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

时间:2010-08-21 08:36:51

标签: c# datetime

编写了应该

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

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

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

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

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

    DateTime dt_calc = new DateTime();
    dt_calc = Convert.ToDateTime(inputt);

3 个答案:

答案 0 :(得分:7)

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

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

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

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

答案 1 :(得分:2)

不要使用Convert - DateTimeParseTryParseParseExactTryParseExact方法{{1}但是为此,只需使用解析就可以了:

IFormatProvider

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

DateTime dt_calc = DateTime.Parse(inputt);

答案 2 :(得分:1)

看一下扩展DateTime解析功能的Code Project。或者,在GitHub上有一个Natural Date Parser类。