将字符串转换为日期时间,然后转换回字符串
本文关键字:字符串 转换 然后 日期 时间 | 更新日期: 2023-09-27 18:35:50
嗨,我正在尝试将字符串转换为日期时间,然后再转换为字符串。这是我的代码。
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.
收到此错误. 任何人都可以给出解决方案吗?
我不知道
您使用的是什么区域性,但是,默认情况下使用它的日期分隔符。因此,例如,如果您使用.
作为分隔符,则不起作用。
使用CultureInfo.InvariantCulture
和DateTime.ParseExact
:
DateTime dt DateTime.ParseExact("19/9/13", "dd/M/yyyy", CultureInfo.InvariantCulture);
string result = dt.ToString("yyyy-MM-dd");
这里有:
string time = "19/9/13";
DateTime resds =DateTime.ParseExact(time, "dd/M/yy", System.Globalization.CultureInfo.InvariantCulture);
string datet = resds.ToShortDateString();
DateTime.ParseExact 文档
你的解析是真的。问题出在日期时间上,因为您的计算机支持另一种日期时间格式。它试图将 19 作为一个月 - 它抛出此异常。
可能如果你写这个它会工作:
string dt = "9/19/13";
或者只需将计算机设置更改为:dd/MMM/YYYY 格式。
尝试使用DateTime.ParseExact
:
DateTime.ParseExact(dt.ToString(), "dd/M/yy", null).ToString("yyyy-MM-dd");
你应该使用 DateTime.ParseExact:
DateTime.ParseExact(dt, "dd/M/yy").ToString("yyyy-MM-dd");
并查看自定义日期和时间格式字符串。
使用 Convert.ToDateTime()
将字符串转换为日期..然后将日期转换为字符串使用 ToString()
string dt = "19/9/13";
Convert.ToDateTime(dt);