转换日期时间问题c#

use*_*709 1 c# datetime type-conversion

我在转换日期时遇到问题

var date = DateTime.Now;
txtdate.Text = date.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

//我需要稍后将其传递给DateTime变量.当我重新转换它给我一个错误)

DateTime dtReconvert =Convert.toDateTime(txtdate.Text);  //Error String was not recognized as a valid DateTim
Run Code Online (Sandbox Code Playgroud)

当我将日期时间设置为"01/01/2013"​​并将其转换为日期时间时,它不会给我任何错误.

Hab*_*bib 8

DateTime.ParseExact与格式一起使用"dd/MM/yyyy"

DateTime dtObject = DateTime.ParseExact(txtdate.Text, 
                                        "dd/MM/yyyy", 
                                        CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

  • @ user1884709,可能是因为您当前的文化支持`MM/dd/yyyy"`样式日期,因为`01/01/2012`可以是2012年1月1日,它被解析.稍后您将使用自定义格式将日期转换为字符串,这与您当前的文化不同,这就是为什么您无法将其解析为日期时间对象.您必须使用自定义格式 (2认同)