您好我正在尝试将字符串转换为日期时间,然后再转换回字符串。这是我的代码。
try
{
string dt = "19/9/13";
DateTime.Parse(dt.ToString()).ToString("yyyy-MM-dd");
}
catch (Exception ex)
{
string msg = ex.Message;
}
并尝试了Convert.ToDateTime(dt.ToString()).ToString("yyyy-MM-dd");
我收到此错误String was not recognized as a valid DateTime.
。任何人都可以给出解决方案。
答案 0 :(得分:2)
你有:
string time = "19/9/13";
DateTime resds =DateTime.ParseExact(time, "dd/M/yy", System.Globalization.CultureInfo.InvariantCulture);
string datet = resds.ToShortDateString();
答案 1 :(得分:2)
我不知道您使用的文化,但默认情况下使用的是日期分隔符。因此,如果您使用.
作为不起作用的分隔符。
使用CultureInfo.InvariantCulture
和DateTime.ParseExact
:
DateTime dt DateTime.ParseExact("19/9/13", "dd/M/yyyy", CultureInfo.InvariantCulture);
string result = dt.ToString("yyyy-MM-dd");
答案 2 :(得分:1)
你的解析是真的。问题是日期时间,因为您的计算机支持另一种日期时间格式。它试图在一个月内获得19 - 并且它抛出了这个例外。
如果你写这个可能会有效:
string dt = "9/19/13";
或者只是将您的计算机设置更改为:dd / MMM / YYYY格式。
答案 3 :(得分:1)
尝试使用DateTime.ParseExact
:
DateTime.ParseExact(dt.ToString(), "dd/M/yy", null).ToString("yyyy-MM-dd");
答案 4 :(得分:1)
您应该使用DateTime.ParseExact:
DateTime.ParseExact(dt, "dd/M/yy").ToString("yyyy-MM-dd");
答案 5 :(得分:0)
使用Convert.ToDateTime()
将字符串转换为日期..然后将日期转换为字符串使用ToString()
string dt = "19/9/13";
Convert.ToDateTime(dt);